diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-01-17 11:32:56 -0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-01-17 11:32:56 -0800 |
commit | cf2e4f44afbfb208c5976786c96ec963930323cc (patch) | |
tree | 7e9ddac16d51490f1428abb610afd02eda98aacf /deps/v8/test/mjsunit/regexp.js | |
parent | 082a4b6033df22a68518c58d320e86f688db7bda (diff) | |
download | node-new-cf2e4f44afbfb208c5976786c96ec963930323cc.tar.gz |
Upgrade V8 to 3.0.8
Diffstat (limited to 'deps/v8/test/mjsunit/regexp.js')
-rw-r--r-- | deps/v8/test/mjsunit/regexp.js | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/deps/v8/test/mjsunit/regexp.js b/deps/v8/test/mjsunit/regexp.js index 4c1d2e315f..8d776ad5fb 100644 --- a/deps/v8/test/mjsunit/regexp.js +++ b/deps/v8/test/mjsunit/regexp.js @@ -84,15 +84,14 @@ assertEquals(result[4], 'D'); assertEquals(result[5], 'E'); assertEquals(result[6], 'F'); -// Some tests from the Mozilla tests, where our behavior differs from +// Some tests from the Mozilla tests, where our behavior used to differ from // SpiderMonkey. // From ecma_3/RegExp/regress-334158.js assertTrue(/\ca/.test( "\x01" )); assertFalse(/\ca/.test( "\\ca" )); -// Passes in KJS, fails in IrregularExpressions. -// See http://code.google.com/p/v8/issues/detail?id=152 -//assertTrue(/\c[a/]/.test( "\x1ba/]" )); - +assertFalse(/\ca/.test( "ca" )); +assertTrue(/\c[a/]/.test( "\\ca" )); +assertTrue(/\c[a/]/.test( "\\c/" )); // Test \c in character class re = /^[\cM]$/; @@ -104,11 +103,29 @@ assertFalse(re.test("\x03")); // I.e., read as \cc re = /^[\c]]$/; assertTrue(re.test("c]")); -assertFalse(re.test("\\]")); +assertTrue(re.test("\\]")); assertFalse(re.test("\x1d")); // ']' & 0x1f -assertFalse(re.test("\\]")); assertFalse(re.test("\x03]")); // I.e., read as \cc +re = /^[\c1]$/; // Digit control characters are masked in character classes. +assertTrue(re.test("\x11")); +assertFalse(re.test("\\")); +assertFalse(re.test("c")); +assertFalse(re.test("1")); + +re = /^[\c_]$/; // Underscore control character is masked in character classes. +assertTrue(re.test("\x1f")); +assertFalse(re.test("\\")); +assertFalse(re.test("c")); +assertFalse(re.test("_")); + +re = /^[\c$]$/; // Other characters are interpreted literally. +assertFalse(re.test("\x04")); +assertTrue(re.test("\\")); +assertTrue(re.test("c")); +assertTrue(re.test("$")); + +assertTrue(/^[Z-\c-e]*$/.test("Z[\\cde")); // Test that we handle \s and \S correctly inside some bizarre // character classes. |