summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js
blob: 967f7fac3cf43e2e0366467ef76556c21562e3a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
/*
8.2.3.3 Tuple.prototype.valueOf ( )
When the valueOf function is called, the following steps are taken:

1. Return ? thisTupleValue(this value).
*/

var valueOf = Tuple.prototype.valueOf;
assertEq(typeof valueOf, 'function');

var tup = #[1,2,3];
assertEq(valueOf.call(tup), tup);
assertEq(valueOf.call(Object(tup)), tup);
assertThrowsInstanceOf(() => valueOf.call("monkeys"), TypeError,
                       "this is not Tuple");
assertThrowsInstanceOf(() => valueOf.call({}), TypeError,
                       "this is not Tuple");
assertThrowsInstanceOf(() => valueOf.call(new Object(1)), TypeError,
                       "this is not Tuple");


reportCompare(0, 0);