| // Copyright 2009 the Sputnik authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| info: match returns array as specified in 15.10.6.2 |
| es5id: 15.5.4.10_A2_T11 |
| description: > |
| Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is |
| undefined. And regular expression object have property lastIndex |
| = tested_string.lastIndexOf("0")+1 |
| ---*/ |
| |
| var __string = "Boston, MA 02134"; |
| |
| var __matches=["02134", "02134", undefined]; |
| |
| var __re = /([\d]{5})([-\ ]?[\d]{4})?$/; |
| |
| __re.lastIndex = __string.lastIndexOf("0")+1; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| //CHECK#1 |
| if (__string.match(__re).length!== 3) { |
| $ERROR('#1: __string.match(__re).length=== 3. Actual: '+__string.match(__re).length); |
| } |
| // |
| ////////////////////////////////////////////////////////////////////////////// |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| //CHECK#2 |
| if (__string.match(__re).index !==__string.lastIndexOf("0")) { |
| $ERROR('#2: __string.match(__re).index ===__string.lastIndexOf("0"). Actual: '+__string.match(__re).index ); |
| } |
| // |
| ////////////////////////////////////////////////////////////////////////////// |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| //CHECK#3 |
| for(var mi=0; mi<__matches.length; mi++) { |
| if (__string.match(__re)[mi]!==__matches[mi]) { |
| $ERROR('#3.'+mi+': __string.match(__re)['+mi+']===__matches['+mi+']. Actual: '+__string.match(__re)[mi]); |
| } |
| } |
| // |
| ////////////////////////////////////////////////////////////////////////////// |