summaryrefslogtreecommitdiff
path: root/test/parallel/test-util-inspect-simd.js
blob: 5e0a2740840c933e1677eabae73977201fe63bc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Flags: --harmony_simd
/* global SIMD */
'use strict';

require('../common');
const assert = require('assert');
const inspect = require('util').inspect;

assert.strictEqual(
    inspect(SIMD.Bool16x8()),
    'Bool16x8 [ false, false, false, false, false, false, false, false ]');

assert.strictEqual(
    inspect(SIMD.Bool32x4()),
    'Bool32x4 [ false, false, false, false ]');

assert.strictEqual(
    inspect(SIMD.Bool8x16()),
    'Bool8x16 [\n  false,\n  false,\n  false,\n  false,\n  false,\n' +
    '  false,\n  false,\n  false,\n  false,\n  false,\n  false,\n' +
    '  false,\n  false,\n  false,\n  false,\n  false ]');

assert.strictEqual(
    inspect(SIMD.Bool32x4()),
    'Bool32x4 [ false, false, false, false ]');

assert.strictEqual(
    inspect(SIMD.Float32x4()),
    'Float32x4 [ NaN, NaN, NaN, NaN ]');

assert.strictEqual(
    inspect(SIMD.Int16x8()),
    'Int16x8 [ 0, 0, 0, 0, 0, 0, 0, 0 ]');

assert.strictEqual(
    inspect(SIMD.Int32x4()),
    'Int32x4 [ 0, 0, 0, 0 ]');

assert.strictEqual(
    inspect(SIMD.Int8x16()),
    'Int8x16 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]');

// The SIMD types below are not available in v5.
if (typeof SIMD.Uint16x8 === 'function') {
  assert.strictEqual(
      inspect(SIMD.Uint16x8()),
      'Uint16x8 [ 0, 0, 0, 0, 0, 0, 0, 0 ]');
}

if (typeof SIMD.Uint32x4 === 'function') {
  assert.strictEqual(
      inspect(SIMD.Uint32x4()),
      'Uint32x4 [ 0, 0, 0, 0 ]');
}

if (typeof SIMD.Uint8x16 === 'function') {
  assert.strictEqual(
      inspect(SIMD.Uint8x16()),
      'Uint8x16 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]');
}

// Tests from test-inspect.js that should not fail with --harmony_simd.
assert.strictEqual(inspect([]), '[]');
assert.strictEqual(inspect([0]), '[ 0 ]');
assert.strictEqual(inspect({}), '{}');
assert.strictEqual(inspect({foo: 42}), '{ foo: 42 }');
assert.strictEqual(inspect(null), 'null');
assert.strictEqual(inspect(true), 'true');
assert.strictEqual(inspect(false), 'false');