diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js')
-rw-r--r-- | js/src/tests/test262/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js b/js/src/tests/test262/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js new file mode 100644 index 0000000000..d8e75b817b --- /dev/null +++ b/js/src/tests/test262/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js @@ -0,0 +1,34 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-string.prototype.replaceall +description: > + replaceValue is not called if there isn't a match +info: | + String.prototype.replaceAll ( searchValue, replaceValue ) + + ... + 5. Let functionalReplace be IsCallable(replaceValue). + ... + 14. For each position in matchPositions, do + a. If functionalReplace is true, then + i. Let replacement be ? ToString(? Call(replaceValue, undefined, « searchString, position, string »). +features: [String.prototype.replaceAll] +---*/ + +function replaceValue() { + throw new Test262Error(); +} + +assert.sameValue( + 'a'.replaceAll('b', replaceValue), + 'a' +); + +assert.sameValue( + 'a'.replaceAll('aa', replaceValue), + 'a' +); + +reportCompare(0, 0); |