// |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(/(?a)|(?b)/, "[$]"), "[a]b"); assert.sameValue("ba".replace(/(?a)|(?b)/, "[$]"), "[b]a"); assert.sameValue("ab".replace(/(?a)|(?b)/, "[$][$1][$2]"), "[a][a][]b"); assert.sameValue("ba".replace(/(?a)|(?b)/, "[$][$1][$2]"), "[b][][b]a"); assert.sameValue("ab".replace(/(?a)|(?b)/g, "[$]"), "[a][b]"); assert.sameValue("ba".replace(/(?a)|(?b)/g, "[$]"), "[b][a]"); reportCompare(0, 0);