KDE JS Test

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


PASS 'abc'.length is 3
PASS (new String('abcd')).length is 4
PASS String('abcde').length is 5
PASS 'abc'.charAt(0) is 'a'
PASS 'abc'.charAt(1) is 'b'
PASS 'abc'.charAt(-1) is ''
PASS 'abc'.charAt(99) is ''
PASS 'abc'.charAt() is 'a'
PASS 'ab'.indexOf('a') is 0
PASS 'ab'.indexOf('b') is 1
PASS 'ab'.indexOf('x') is -1
PASS 'ab'.indexOf('') is 0
PASS ''.indexOf('') is 0
PASS 'ab'.indexOf('a', -1) is 0
PASS 'ab'.indexOf('b', 1) is 1
PASS 'ab'.indexOf('a', 1) is -1
PASS '  '.indexOf('', 1) is 1
PASS String('abc').search(/b/) is 1
PASS String('xyz').search(/b/) is -1
PASS String('abcb').match(/b/) + '' is 'b'
PASS typeof String('abc').match(/b/) is 'object'
PASS 'xyz'.match(/b/) is null
PASS 'xyz'.match(/b/g) is null
PASS String('aabab'.match(/ab/g)) is 'ab,ab'
PASS String('aabab'.match(/(a)(b)/)) is 'ab,a,b'
PASS String('aabab'.match(/(a)(b)/g)) is 'ab,ab'
PASS String('abc'.match(/./g)) is 'a,b,c'
PASS String('abc'.match(/.*/g)) is 'abc,'
PASS var reg = /ab/g; 'aabab'.match(reg); reg.lastIndex is 0
PASS var reg = /ab/g; 'aabab'.match(reg).length is 2
PASS var reg = /ab/g; 'xxx'.match(reg); reg.lastIndex is 0
PASS var reg = /ab/g; 'xxx'.match(reg) is null
PASS myRe=/d(b+)d/g;  'cdbbdbsbz'.match(myRe)[0] is 'dbbd'
PASS 'abcd'.replace(/b./, 'xy') is 'axyd'
PASS 'abcd'.replace('bc', 'x') is 'axd'
PASS 'abcd'.replace('x', 'y') is 'abcd'
PASS 'abcd'.replace(/(ab)(cd)/,'$2$1') is 'cdab'
PASS 'abcd'.replace(/(ab)(cd)/,'$2$1$') is 'cdab$'
PASS 'BEGINabcEND'.replace(/abc/,'x$') is 'BEGINx$END'
PASS f2c('The value is 212F') is 'The value is 100C'
PASS f2c_str is '212F'
PASS f2c_p1 is '212'
PASS f2c_offset is 13
PASS f2c_s is 'The value is 212F'
PASS 'axb'.split('x').length is 2
PASS 'axb'.split('x')[0] is 'a'
PASS 'axb'.split('x')[1] is 'b'
PASS String('abc'.split('')) is 'a,b,c'
PASS String('abc'.split(new RegExp())) is 'a,b,c'
PASS ''.split('').length is 0
PASS 'axb'.split('x', 0).length is 0
PASS 'axb'.split('x', 0)[0] is undefined
PASS 'axb'.split('x', 1).length is 1
PASS 'axb'.split('x', 99).length is 2
PASS 'axb'.split('y') + '' is 'axb'
PASS 'axb'.split('y').length is 1
PASS ''.split('x') + '' is ''
PASS 'abc'.split() + '' is 'abc'
PASS 'axxb'.split(/x/) + '' is 'a,,b'
PASS 'axxb'.split(/x+/) + '' is 'a,b'
PASS 'axxb'.split(/x*/) + '' is 'a,b'
PASS 'abcdef'.slice(2, 5) is 'cde'
PASS 'abcdefghijklmnopqrstuvwxyz1234567890'.slice(-32, -6) is 'efghijklmnopqrstuvwxyz1234'
PASS 'abC1'.toUpperCase() is 'ABC1'
PASS 'AbC2'.toLowerCase() is 'abc2'
PASS 'a'.localeCompare('a') is 0
PASS 'a'.localeCompare('aa') < 0 is true
PASS 'a'.localeCompare('x') < 0 is true
PASS 'x'.localeCompare('a') > 0 is true
PASS ''.localeCompare('') is 0
PASS ''.localeCompare() is -1
PASS ''.localeCompare(undefined) is -1
PASS ''.localeCompare(null) is -1
PASS 'a'.localeCompare('') is 1
PASS 'a'.localeCompare() is -1
PASS 'abc'[0] is 'a'
PASS 'abc'[-1] is undefined.
PASS 'abc'[-4] is undefined.
PASS 'abc'[10] is undefined.
PASS 'abc'[10] is 'x'
PASS bar is html
PASS successfullyParsed is true

TEST COMPLETE

