blob: 938373b919dfe1ccad6eb2c36d17d11a214de783 [file] [log] [blame]
This test checks the behavior of computed property names in object literals.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS ({[a]: true}.propertyName) is true
PASS 'use strict';({[a]: true}.propertyName) is true
PASS (function(){'use strict';return ({[a]: true}.propertyName)})() is true
PASS ({[(1,a)]: true}.propertyName) is true
PASS 'use strict';({[(1,a)]: true}.propertyName) is true
PASS (function(){'use strict';return ({[(1,a)]: true}.propertyName)})() is true
PASS ({[a+1]: true}.propertyName1) is true
PASS 'use strict';({[a+1]: true}.propertyName1) is true
PASS (function(){'use strict';return ({[a+1]: true}.propertyName1)})() is true
PASS ({propertyName: false, [a]: true}.propertyName) is true
PASS 'use strict';({propertyName: false, [a]: true}.propertyName) is true
PASS (function(){'use strict';return ({propertyName: false, [a]: true}.propertyName)})() is true
PASS ({[a]: false, propertyName: true}.propertyName) is true
PASS 'use strict';({[a]: false, propertyName: true}.propertyName) is true
PASS (function(){'use strict';return ({[a]: false, propertyName: true}.propertyName)})() is true
PASS ({get propertyName(){ return false; }, [a]: true}.propertyName) is true
PASS 'use strict';({get propertyName(){ return false; }, [a]: true}.propertyName) is true
PASS (function(){'use strict';return ({get propertyName(){ return false; }, [a]: true}.propertyName)})() is true
PASS ({[a]: false, get propertyName(){ return true; }}.propertyName) is true
PASS 'use strict';({[a]: false, get propertyName(){ return true; }}.propertyName) is true
PASS (function(){'use strict';return ({[a]: false, get propertyName(){ return true; }}.propertyName)})() is true
PASS ({__proto__: {get propertyName(){ return false; }}, [a]: true}.propertyName) is true
PASS 'use strict';({__proto__: {get propertyName(){ return false; }}, [a]: true}.propertyName) is true
PASS (function(){'use strict';return ({__proto__: {get propertyName(){ return false; }}, [a]: true}.propertyName)})() is true
PASS ({__proto__: {get propertyName(){ return false; }}, propertyName: true}.propertyName) is true
PASS 'use strict';({__proto__: {get propertyName(){ return false; }}, propertyName: true}.propertyName) is true
PASS (function(){'use strict';return ({__proto__: {get propertyName(){ return false; }}, propertyName: true}.propertyName)})() is true
PASS ({[a]: true}[0]) is true
PASS 'use strict';({[a]: true}[0]) is true
PASS (function(){'use strict';return ({[a]: true}[0])})() is true
PASS ({[a+1]: true}[1]) is true
PASS 'use strict';({[a+1]: true}[1]) is true
PASS (function(){'use strict';return ({[a+1]: true}[1])})() is true
PASS ({0: false, [a]: true}[0]) is true
PASS 'use strict';({0: false, [a]: true}[0]) is true
PASS (function(){'use strict';return ({0: false, [a]: true}[0])})() is true
PASS ({[a]: false, 0: true}[0]) is true
PASS 'use strict';({[a]: false, 0: true}[0]) is true
PASS (function(){'use strict';return ({[a]: false, 0: true}[0])})() is true
PASS ({get '0'(){ return false; }, [a]: true}[0]) is true
PASS 'use strict';({get '0'(){ return false; }, [a]: true}[0]) is true
PASS (function(){'use strict';return ({get '0'(){ return false; }, [a]: true}[0])})() is true
PASS ({[a]: false, get '0'(){ return true; }}[0]) is true
PASS 'use strict';({[a]: false, get '0'(){ return true; }}[0]) is true
PASS (function(){'use strict';return ({[a]: false, get '0'(){ return true; }}[0])})() is true
PASS ({__proto__: {get '0'(){ return false; }}, [a]: true}[0]) is true
PASS 'use strict';({__proto__: {get '0'(){ return false; }}, [a]: true}[0]) is true
PASS (function(){'use strict';return ({__proto__: {get '0'(){ return false; }}, [a]: true}[0])})() is true
PASS ({[1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS 'use strict';({[1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS (function(){'use strict';return ({[1,a]: true}.propertyName)})() threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS ({propertyName: false, [1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS 'use strict';({propertyName: false, [1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS (function(){'use strict';return ({propertyName: false, [1,a]: true}.propertyName)})() threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS ({[1,a]: false, propertyName: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS 'use strict';({[1,a]: false, propertyName: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS (function(){'use strict';return ({[1,a]: false, propertyName: true}.propertyName)})() threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS ({get propertyName(){ return false; }, [1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS 'use strict';({get propertyName(){ return false; }, [1,a]: true}.propertyName) threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS (function(){'use strict';return ({get propertyName(){ return false; }, [1,a]: true}.propertyName)})() threw exception SyntaxError: Unexpected token ','. Expected ']' to end a computed property name..
PASS successfullyParsed is true
TEST COMPLETE