duplicate-names-test.js (657B)
1 // Copyright 2022 Igalia S.L. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 description: Matching behavior with duplicate named capture groups 6 esid: prod-GroupSpecifier 7 features: [regexp-duplicate-named-groups] 8 ---*/ 9 10 assert(/(?<x>a)|(?<x>b)/.test("bab")); 11 assert(/(?<x>b)|(?<x>a)/.test("bab")); 12 13 assert(/(?:(?<x>a)|(?<x>b))\k<x>/.test("aa")); 14 assert(/(?:(?<x>a)|(?<x>b))\k<x>/.test("bb")); 15 16 let matchResult = /(?:(?:(?<x>a)|(?<x>b))\k<x>){2}/.test("aabb"); 17 assert(matchResult); 18 19 let notMatched = /(?:(?:(?<x>a)|(?<x>b))\k<x>){2}/.test("abab"); 20 assert.sameValue(notMatched, false); 21 22 reportCompare(0, 0);