michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * Evaluate the production ObjectLiteral: { PropertyName : AssignmentExpression } michael@0: * michael@0: * @path ch11/11.1/11.1.5/S11.1.5_A2.js michael@0: * @description Creating property "prop" of various types(boolean, number and etc.) michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: var x = true; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#1: var x = true; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: var x = new Boolean(true); michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#2: var x = new Boolean(true); var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var x = 1; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#3: var x = 1; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: var x = new Number(1); michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#4: var x = new Number(1); var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#5 michael@0: var x = "1"; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#5: var x = "1"; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#6 michael@0: var x = new String(1); michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#6: var x = new String(1); var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#7 michael@0: var x = undefined; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#7: var x = undefined; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#8 michael@0: var x = null; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#8: var x = null; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#9 michael@0: var x = {}; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#9: var x = {}; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#10 michael@0: var x = [1,2]; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#10: var x = [1,2]; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#11 michael@0: var x = function() {}; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#11: var x = function() {}; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: michael@0: //CHECK#12 michael@0: var x = this; michael@0: var object = {prop : x}; michael@0: if (object.prop !== x) { michael@0: $ERROR('#12: var x = this; var object = {prop : x}; object.prop === x. Actual: ' + (object.prop)); michael@0: } michael@0: