This test checks for a regression against String#split is buggy.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS ''.split() is testCode[i][1]
PASS ''.split(/./) is testCode[i][1]
PASS ''.split(/.?/) is testCode[i][1]
PASS ''.split(/.??/) is testCode[i][1]
PASS 'ab'.split(/a*/) is testCode[i][1]
PASS 'ab'.split(/a*?/) is testCode[i][1]
PASS 'ab'.split(/(?:ab)/) is testCode[i][1]
PASS 'ab'.split(/(?:ab)*/) is testCode[i][1]
PASS 'ab'.split(/(?:ab)*?/) is testCode[i][1]
PASS 'test'.split('') is testCode[i][1]
PASS 'test'.split() is testCode[i][1]
PASS '111'.split(1) is testCode[i][1]
PASS 'test'.split(/(?:)/, 2) is testCode[i][1]
PASS 'test'.split(/(?:)/, -1) is testCode[i][1]
PASS 'test'.split(/(?:)/, undefined) is testCode[i][1]
PASS 'test'.split(/(?:)/, null) is testCode[i][1]
PASS 'test'.split(/(?:)/, NaN) is testCode[i][1]
PASS 'test'.split(/(?:)/, true) is testCode[i][1]
PASS 'test'.split(/(?:)/, '2') is testCode[i][1]
PASS 'test'.split(/(?:)/, 'two') is testCode[i][1]
PASS 'a'.split(/-/) is testCode[i][1]
PASS 'a'.split(/-?/) is testCode[i][1]
PASS 'a'.split(/-??/) is testCode[i][1]
PASS 'a'.split(/a/) is testCode[i][1]
PASS 'a'.split(/a?/) is testCode[i][1]
PASS 'a'.split(/a??/) is testCode[i][1]
PASS 'ab'.split(/-/) is testCode[i][1]
PASS 'ab'.split(/-?/) is testCode[i][1]
PASS 'ab'.split(/-??/) is testCode[i][1]
PASS 'a-b'.split(/-/) is testCode[i][1]
PASS 'a-b'.split(/-?/) is testCode[i][1]
PASS 'a-b'.split(/-??/) is testCode[i][1]
PASS 'a--b'.split(/-/) is testCode[i][1]
PASS 'a--b'.split(/-?/) is testCode[i][1]
PASS 'a--b'.split(/-??/) is testCode[i][1]
PASS ''.split(/()()/) is testCode[i][1]
PASS '.'.split(/()()/) is testCode[i][1]
PASS '.'.split(/(.?)(.?)/) is testCode[i][1]
PASS '.'.split(/(.??)(.??)/) is testCode[i][1]
PASS '.'.split(/(.)?(.)?/) is testCode[i][1]
PASS 'A<B>bold</B>and<CODE>coded</CODE>'.split(ecmaSampleRe) is testCode[i][1]
PASS 'tesst'.split(/(s)*/) is testCode[i][1]
PASS 'tesst'.split(/(s)*?/) is testCode[i][1]
PASS 'tesst'.split(/(s*)/) is testCode[i][1]
PASS 'tesst'.split(/(s*?)/) is testCode[i][1]
PASS 'tesst'.split(/(?:s)*/) is testCode[i][1]
PASS 'tesst'.split(/(?=s+)/) is testCode[i][1]
PASS 'test'.split('t') is testCode[i][1]
PASS 'test'.split('es') is testCode[i][1]
PASS 'test'.split(/t/) is testCode[i][1]
PASS 'test'.split(/es/) is testCode[i][1]
PASS 'test'.split(/(t)/) is testCode[i][1]
PASS 'test'.split(/(es)/) is testCode[i][1]
PASS 'test'.split(/(t)(e)(s)(t)/) is testCode[i][1]
PASS '.'.split(/(((.((.??)))))/) is testCode[i][1]
PASS '.'.split(/(((((.??)))))/) is testCode[i][1]
PASS 'hello'.split({toString:function(){return 'e';}}) is ["h", "llo"]
PASS var a = 'hello'.split({toString:function(){separatorToStringCalled='OKAY';return 'e';}},0); a.push(separatorToStringCalled); a is ["OKAY"]
PASS successfullyParsed is true

TEST COMPLETE

