diff options
Diffstat (limited to 'js/src/tests/test262/harness/compare-array-arraylike.js')
-rw-r--r-- | js/src/tests/test262/harness/compare-array-arraylike.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/test262/harness/compare-array-arraylike.js b/js/src/tests/test262/harness/compare-array-arraylike.js new file mode 100644 index 0000000000..6f1ea8242b --- /dev/null +++ b/js/src/tests/test262/harness/compare-array-arraylike.js @@ -0,0 +1,36 @@ +// Copyright (C) 2021 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: > + Accepts spreadable arguments +includes: [compareArray.js] +---*/ + +function checkFormatOfAssertionMessage(func, errorMessage) { + var caught = false; + try { + func(); + } catch (error) { + caught = true; + assert.sameValue(error.constructor, Test262Error); + assert.sameValue(error.message, errorMessage); + } + + assert(caught, `Expected ${func} to throw, but it didn't.`); +} + +const fixture = { length: 3, 0: 0, 1: 'a', 2: undefined}; + +assert.compareArray(fixture, [0, 'a', undefined]); +assert.compareArray([0, 'a', undefined], fixture); + +checkFormatOfAssertionMessage(() => { + assert.compareArray(fixture, [], 'fixture and []'); +}, 'Expected [0, a, undefined] and [] to have the same contents. fixture and []'); + +checkFormatOfAssertionMessage(() => { + assert.compareArray([], fixture, '[] and fixture'); +}, 'Expected [] and [0, a, undefined] to have the same contents. [] and fixture'); + +reportCompare(0, 0); |