blob: 1d958ab37d113ef0f0e8a712ee98530da0baf585 [file] [log] [blame]
This test exercises the source expression offset information that is attached to exception objects for the inspector.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Testing 'undefined.a++'
PASS ex.message is "undefined is not an object (evaluating 'undefined.a')"
Testing '++undefined.a'
PASS ex.message is "undefined is not an object (evaluating 'undefined.a')"
Testing 'undefined[0]++'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing '++undefined[1]'
PASS ex.message is "undefined is not an object (evaluating 'undefined[1]')"
Testing 'undefined.b'
PASS ex.message is "undefined is not an object (evaluating 'undefined.b')"
Testing 'undefined[0]'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing 'undefined.b += 1'
PASS ex.message is "undefined is not an object (evaluating 'undefined.b')"
Testing 'undefined[0] += 1'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing 'undefined()'
PASS ex.message is "undefined is not a function. (In 'undefined()', 'undefined' is undefined)"
Testing 'new undefined()'
PASS ex.message is "undefined is not a constructor (evaluating 'new undefined()')"
Testing '({}).b()'
PASS ex.message is "({}).b is not a function. (In '({}).b()', '({}).b' is undefined)"
Testing 'new {}.b()'
PASS ex.message is "undefined is not a constructor (evaluating 'new {}.b()')"
Testing '1()'
PASS ex.message is "1 is not a function. (In '1()', '1' is 1)"
Testing 'new 1()'
PASS ex.message is "1 is not a constructor (evaluating 'new 1()')"
Testing 'throw { message : 'thrown object' }'
PASS ex.message is "thrown object"
Testing '1 in undefined'
PASS ex.message is "undefined is not an Object. (evaluating '1 in undefined')"
Testing '1 instanceof undefined'
PASS ex.message is "Right hand side of instanceof is not an object"
Testing 'for (undefined.b in [1]) {}'
PASS ex.message is "undefined is not an object (evaluating 'undefined.b')"
Testing 'for (undefined[0] in [1]) {}'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing 'undefined.a = 5'
PASS ex.message is "undefined is not an object (evaluating 'undefined.a = 5')"
Testing 'undefined[0] = 5'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0] = 5')"
Testing '({b:undefined}).b.a = 5'
PASS ex.message is "undefined is not an object (evaluating '({b:undefined}).b.a = 5')"
Testing '({b:undefined}).b[0] = 5'
PASS ex.message is "undefined is not an object (evaluating '({b:undefined}).b[0] = 5')"
Testing 'undefined.a += 5'
PASS ex.message is "undefined is not an object (evaluating 'undefined.a')"
Testing 'undefined[0] += 5'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing '({b:undefined}).b.a += 5'
PASS ex.message is "undefined is not an object (evaluating '({b:undefined}).b.a')"
Testing '({b:undefined}).b[0] += 5'
PASS ex.message is "undefined is not an object (evaluating '({b:undefined}).b[0]')"
Testing '[].a.b.x'
PASS ex.message is "undefined is not an object (evaluating '[].a.b')"
Testing '[]['a']['b'].x'
PASS ex.message is "undefined is not an object (evaluating '[]['a']['b']')"
Testing '[].a['b'].x'
PASS ex.message is "undefined is not an object (evaluating '[].a['b']')"
Testing '[]['a'].b.x'
PASS ex.message is "undefined is not an object (evaluating '[]['a'].b')"
Testing 'func(undefined.x)'
PASS ex.message is "undefined is not an object (evaluating 'undefined.x')"
Testing 'func(null.x)'
PASS ex.message is "null is not an object (evaluating 'null.x')"
Testing 'func(undefined[0])'
PASS ex.message is "undefined is not an object (evaluating 'undefined[0]')"
Testing 'func(null[0])'
PASS ex.message is "null is not an object (evaluating 'null[0]')"
PASS successfullyParsed is true
TEST COMPLETE