summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_7/TypedObject/objecttype.js
blob: 3f0f3747fab58ca1066b2bea6b365068976a4123 (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
// |reftest| skip-if(!this.hasOwnProperty("TypedObject"))
var BUGNUMBER = 917454;
var summary = 'objecttype';

/*
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/licenses/publicdomain/
 */

var T = TypedObject;

function runTests() {
  var Point = T.float32.array(3);
  var Line = new T.StructType({from: Point, to: Point});
  var Lines = Line.array(3);

  var lines = new Lines([
    {from: [1, 2, 3], to: [4, 5, 6]},
    {from: [7, 8, 9], to: [10, 11, 12]},
    {from: [13, 14, 15], to: [16, 17, 18]}
  ]);

  assertEq(T.objectType(lines), Lines);
  assertEq(T.objectType(lines[0]), Line);
  assertEq(T.objectType(lines[0].from[0]), T.float64);
  assertEq(T.objectType(""), T.String);
  assertEq(T.objectType({}), T.Object);
  assertEq(T.objectType([]), T.Object);
  assertEq(T.objectType(function() { }), T.Object);
  assertEq(T.objectType(undefined), T.Any);

  reportCompare(true, true);
  print("Tests complete");
}

runTests();