Test case details

Preparation Code

<script>   function startsWithCharAt(string, pattern) {     for (var i = 0, length = pattern.length; i < length; i += 1) {       if (pattern.charAt(i) !== string.charAt(i)) return false;     }     return true;   }   function startsWithArray(string, pattern) {     for (var i = 0, length = pattern.length; i < length; i += 1) {       if (pattern[i] !== string[i]) return false;     }     return true;   } </script>
a = ["test"];     for (var i = 0; i < 10000; i++) {       a.push("some other stuff");     }     s = a.join();     re1 = new RegExp("^test");     re2 = new RegExp("^not there");

Test cases

Test #1

r1 = (s.indexOf("test") == 0); r2 = (s.indexOf("not there") == 0);

Test #2

r1 = (s.lastIndexOf("test", 0) == 0); r2 = (s.lastIndexOf("not there", 0) == 0);

Test #3

r1 = (s.substring(0, "test".length) == "test"); r2 = (s.substring(0, "not there".length) == "not there");

Test #4

r1 = (s.slice(0, "test".length) == "test"); r2 = (s.slice(0, "not there".length) == "not there");

Test #5

r1 = (/^test/).test(s); r2 = (/^not there/).test(s);

Test #6

r1 = re1.test(s); r2 = re2.test(s);

Test #7

r1 = startsWithCharAt(s, "test"); r2 = startsWithCharAt(s, "not there");

Test #8

r1 = (s.substr(0, "test".length) == "test"); r2 = (s.substr(0, "not there".length) == "not there");

Test #9

r1 = startsWithArray(s, "test"); r2 = startsWithArray(s, "not there");