summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/prototype/isTuple/isTuple.js
blob: 714c9cab4249034c6663944000112422c9bafb8e (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
// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
var f = Tuple.isTuple;

assertEq(typeof f, "function");
assertEq(f.length, 1);
assertEq(f(#[]), true);
assertEq(f(#[1]), true);
assertEq(f(#[1,2,3]), true);
assertEq(f(Object(#[])), true);
assertEq(f(Object(#[1])), true);
assertEq(f(Object(#[1,2,3])), true);

for (thing of [42, new Number(-42), undefined, true, false, "abc" , new String("a\nb\\!"), {}, [], [1,2,3], new Uint8Array(1,2,3), null, new RegExp(), JSON, new SyntaxError(), function() {}, Math, new Date()]) {
    assertEq(f(thing), false);
}
assertEq(f(Tuple.prototype), false);
var arg;
(function fun() { arg = arguments; }(1,2,3));
assertEq(f(arg), false);
assertEq(f(this), false);

var proto = [];
var Con = function() {};
Con.prototype = proto;

var child = new Con();

assertEq(f(child), false);

var proto = Tuple.prototype;
var Con = function() {};
Con.prototype = proto;

var child = new Con();

assertEq(f(child), false);

assertEq(f({
  0: 12,
  1: 9,
  length: 2
}), false);


reportCompare(0, 0);