S15.10.2.8_A3_T27.js (1431B)
1 // Copyright 2009 the Sputnik authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 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_T27 11 description: Execute /a|(b)/.exec("a") and check results 12 ---*/ 13 14 var __string = "a"; 15 16 var __executed = /a|(b)/.exec(__string); 17 18 var __expected = ["a",undefined]; 19 __expected.index = 0; 20 __expected.input = __string; 21 22 assert.sameValue( 23 __executed.length, 24 __expected.length, 25 'The value of __executed.length is expected to equal the value of __expected.length' 26 ); 27 28 assert.sameValue( 29 __executed.index, 30 __expected.index, 31 'The value of __executed.index is expected to equal the value of __expected.index' 32 ); 33 34 assert.sameValue( 35 __executed.input, 36 __expected.input, 37 'The value of __executed.input is expected to equal the value of __expected.input' 38 ); 39 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 ); 46 } 47 48 reportCompare(0, 0);