summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/prototype/toSorted/comparefn-nonfunction-call-throws.js
blob: 5a68e1d3433a797c38733eb40ecf68ce58501a3c (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
// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
/*
  1. If _comparefn_ is not *undefined* and IsCallable(_comparefn_) is *false*, throw a *TypeError* exception.
  ...
*/

let sample = #[42, 43, 44, 45, 46];

let compareFnVals = [[null, "null"],
                     [true, "true"],
                     [false, "false"],
                     ['', "\'\'"],
                     [/a/g, "/a/g"],
                     [42, "42"],
                     [[], "[]"],
                     [{}, "{}"]];

for (pair of compareFnVals) {
    f = pair[0];
    errorMsg = "comparefn is: " + pair[1];
    assertThrowsInstanceOf(() => sample.withSorted(f),
                           TypeError, errorMsg);
}

reportCompare(0, 0);