diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/Tuple/prototype/toSorted/comparefn-nonfunction-call-throws.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/prototype/toSorted/comparefn-nonfunction-call-throws.js b/js/src/tests/non262/Tuple/prototype/toSorted/comparefn-nonfunction-call-throws.js new file mode 100644 index 0000000000..5a68e1d343 --- /dev/null +++ b/js/src/tests/non262/Tuple/prototype/toSorted/comparefn-nonfunction-call-throws.js @@ -0,0 +1,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); |