Bug 1892041 - Part 2: Update test262. r=spidermonkey-reviewers,dminor
[gecko.git] / js / src / tests / test262 / built-ins / RegExp / S15.10.2.8_A3_T28.js
blob08d6919c8aa2d1b29efa029c893a22fd18c68791
1 // Copyright 2009 the Sputnik authors.  All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /*---
5 info: |
6     Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.
7     The result can be used either in a backreference (\ followed by a nonzero decimal number),
8     referenced in a replace string,
9     or returned as part of an array from the regular expression matching function
10 es5id: 15.10.2.8_A3_T28
11 description: Execute /(a)?(a)/.exec("a") and check results
12 ---*/
14 var __string = "a";
16 var __executed = /(a)?(a)/.exec(__string);
18 var __expected = ['a', undefined, 'a'];
19 __expected.index = 0;
20 __expected.input = __string;
22 assert.sameValue(
23   __executed.length,
24   __expected.length,
25   'The value of __executed.length is expected to equal the value of __expected.length'
28 assert.sameValue(
29   __executed.index,
30   __expected.index,
31   'The value of __executed.index is expected to equal the value of __expected.index'
34 assert.sameValue(
35   __executed.input,
36   __expected.input,
37   'The value of __executed.input is expected to equal the value of __expected.input'
40 for(var index=0; index<__expected.length; index++) {
41   assert.sameValue(
42     __executed[index],
43     __expected[index],
44     'The value of __executed[index] is expected to equal the value of __expected[index]'
45   );
48 reportCompare(0, 0);