diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/named-groups/duplicate-names-replace.js')
-rw-r--r-- | js/src/tests/test262/built-ins/RegExp/named-groups/duplicate-names-replace.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/named-groups/duplicate-names-replace.js b/js/src/tests/test262/built-ins/RegExp/named-groups/duplicate-names-replace.js new file mode 100644 index 0000000000..76893704af --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/named-groups/duplicate-names-replace.js @@ -0,0 +1,20 @@ +// |reftest| skip -- regexp-duplicate-named-groups is not supported +// Copyright 2022 Kevin Gibbons. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: String.prototype.replace behavior with duplicate named capture groups +esid: prod-GroupSpecifier +features: [regexp-duplicate-named-groups] +---*/ + +assert.sameValue("ab".replace(/(?<x>a)|(?<x>b)/, "[$<x>]"), "[a]b"); +assert.sameValue("ba".replace(/(?<x>a)|(?<x>b)/, "[$<x>]"), "[b]a"); + +assert.sameValue("ab".replace(/(?<x>a)|(?<x>b)/, "[$<x>][$1][$2]"), "[a][a][]b"); +assert.sameValue("ba".replace(/(?<x>a)|(?<x>b)/, "[$<x>][$1][$2]"), "[b][][b]a"); + +assert.sameValue("ab".replace(/(?<x>a)|(?<x>b)/g, "[$<x>]"), "[a][b]"); +assert.sameValue("ba".replace(/(?<x>a)|(?<x>b)/g, "[$<x>]"), "[b][a]"); + +reportCompare(0, 0); |