Source code

Revision control

Copy as Markdown

Other Tools

// |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);