diff options
author | Ryan <ry@tinyclouds.org> | 2009-06-08 18:34:06 +0200 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-06-08 18:34:06 +0200 |
commit | 696f02455792b368249bf9b013dde637b5ec31fd (patch) | |
tree | 95b2dbd6c2537df9df52f6627aac36fcf05f6a7a /deps/v8/test/mjsunit/string-lastindexof.js | |
parent | f6a7fe26574defaa807a13248102ebe0f23270af (diff) | |
download | node-new-696f02455792b368249bf9b013dde637b5ec31fd.tar.gz |
Upgrade to v8 1.2.7
Diffstat (limited to 'deps/v8/test/mjsunit/string-lastindexof.js')
-rw-r--r-- | deps/v8/test/mjsunit/string-lastindexof.js | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/deps/v8/test/mjsunit/string-lastindexof.js b/deps/v8/test/mjsunit/string-lastindexof.js index bf46666ee0..27378f7895 100644 --- a/deps/v8/test/mjsunit/string-lastindexof.js +++ b/deps/v8/test/mjsunit/string-lastindexof.js @@ -27,25 +27,62 @@ var s = "test test test"; -assertEquals(5, s.lastIndexOf("test", 5)); -assertEquals(5, s.lastIndexOf("test", 6)); -assertEquals(0, s.lastIndexOf("test", 4)); -assertEquals(0, s.lastIndexOf("test", 0)); -assertEquals(-1, s.lastIndexOf("test", -1)); -assertEquals(10, s.lastIndexOf("test")); -assertEquals(-1, s.lastIndexOf("notpresent")); -assertEquals(-1, s.lastIndexOf()); -assertEquals(10, s.lastIndexOf("test", "not a number")); +var MAX_DOUBLE = 1.7976931348623157e+308; +var MIN_DOUBLE = -MAX_DOUBLE; +var MAX_SMI = Math.pow(2,30)-1; +var MIN_SMI = -Math.pow(2,30); + +assertEquals(10, s.lastIndexOf("test", Infinity), "tinf"); +assertEquals(10, s.lastIndexOf("test", MAX_DOUBLE), "tmaxdouble"); +assertEquals(10, s.lastIndexOf("test", MAX_SMI), "tmaxsmi"); +assertEquals(10, s.lastIndexOf("test", s.length * 2), "t2length"); +assertEquals(10, s.lastIndexOf("test", 15), "t15"); +assertEquals(10, s.lastIndexOf("test", 14), "t14"); +assertEquals(10, s.lastIndexOf("test", 10), "t10"); +assertEquals(5, s.lastIndexOf("test", 9), "t9"); +assertEquals(5, s.lastIndexOf("test", 6), "t6"); +assertEquals(5, s.lastIndexOf("test", 5), "t5"); +assertEquals(0, s.lastIndexOf("test", 4), "t4"); +assertEquals(0, s.lastIndexOf("test", 0), "t0"); +assertEquals(0, s.lastIndexOf("test", -1), "t-1"); +assertEquals(0, s.lastIndexOf("test", -s.length), "t-len"); +assertEquals(0, s.lastIndexOf("test", MIN_SMI), "tminsmi"); +assertEquals(0, s.lastIndexOf("test", MIN_DOUBLE), "tmindouble"); +assertEquals(0, s.lastIndexOf("test", -Infinity), "tneginf"); +assertEquals(10, s.lastIndexOf("test"), "t"); +assertEquals(-1, s.lastIndexOf("notpresent"), "n"); +assertEquals(-1, s.lastIndexOf(), "none"); +assertEquals(10, s.lastIndexOf("test", "not a number"), "nan"); + +var longNonMatch = "overlong string that doesn't match"; +var longAlmostMatch = "test test test!"; +var longAlmostMatch2 = "!test test test"; + + +assertEquals(-1, s.lastIndexOf(longNonMatch), "long"); +assertEquals(-1, s.lastIndexOf(longNonMatch, 10), "longpos"); +assertEquals(-1, s.lastIndexOf(longNonMatch, NaN), "longnan"); +assertEquals(-1, s.lastIndexOf(longAlmostMatch), "tlong"); +assertEquals(-1, s.lastIndexOf(longAlmostMatch, 10), "tlongpos"); +assertEquals(-1, s.lastIndexOf(longAlmostMatch), "tlongnan"); + +var nonInitialMatch = "est"; + +assertEquals(-1, s.lastIndexOf(nonInitialMatch, 0), "noninit"); +assertEquals(-1, s.lastIndexOf(nonInitialMatch, -1), "noninitneg"); +assertEquals(-1, s.lastIndexOf(nonInitialMatch, MIN_SMI), "noninitminsmi"); +assertEquals(-1, s.lastIndexOf(nonInitialMatch, MIN_DOUBLE), "noninitmindbl"); +assertEquals(-1, s.lastIndexOf(nonInitialMatch, -Infinity), "noninitneginf"); for (var i = s.length + 10; i >= 0; i--) { var expected = i < s.length ? i : s.length; - assertEquals(expected, s.lastIndexOf("", i)); + assertEquals(expected, s.lastIndexOf("", i), "empty" + i); } var reString = "asdf[a-z]+(asdf)?"; -assertEquals(4, reString.lastIndexOf("[a-z]+")); -assertEquals(10, reString.lastIndexOf("(asdf)?")); +assertEquals(4, reString.lastIndexOf("[a-z]+"), "r4"); +assertEquals(10, reString.lastIndexOf("(asdf)?"), "r10"); -assertEquals(1, String.prototype.lastIndexOf.length); +assertEquals(1, String.prototype.lastIndexOf.length, "length"); |