diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/String/prototype/at/returns-item-relative-index.js')
-rw-r--r-- | js/src/tests/test262/built-ins/String/prototype/at/returns-item-relative-index.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/String/prototype/at/returns-item-relative-index.js b/js/src/tests/test262/built-ins/String/prototype/at/returns-item-relative-index.js new file mode 100644 index 0000000000..9c3360f266 --- /dev/null +++ b/js/src/tests/test262/built-ins/String/prototype/at/returns-item-relative-index.js @@ -0,0 +1,31 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-String.prototype.at +description: > + Returns the item value at the specified relative index +info: | + String.prototype.at ( ) + + Let O be ? ToObject(this value). + Let len be ? LengthOfStringLike(O). + Let relativeIndex be ? ToInteger(index). + If relativeIndex ≥ 0, then + Let k be relativeIndex. + Else, + Let k be len + relativeIndex. + If k < 0 or k ≥ len, then return undefined. + Return ? Get(O, ! ToString(k)). + +features: [String.prototype.at] +---*/ +assert.sameValue(typeof String.prototype.at, 'function'); + +let s = "12345"; + +assert.sameValue(s.at(0), "1", 's.at(0) must return "1"'); +assert.sameValue(s.at(-1), "5", 's.at(-1) must return "5"'); +assert.sameValue(s.at(-3), "3", 's.at(-3) must return "3"'); +assert.sameValue(s.at(-4), "2", 's.at(-4) must return "2"'); + +reportCompare(0, 0); |