1 // Copyright 2014 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 6 (function TestBasics() { 7 var x = 1; 8 var object = {x}; 9 assertEquals(1, object.x); 10 })(); 11 12 13 (function TestBasicsGetSet() { 14 var get = 1, set = 2; 15 var object = {get, set}; 16 assertEquals(1, object.get); 17 assertEquals(2, object.set); 18 })(); 19 20 21 (function TestDescriptor() { 22 var x = 1; 23 var object = {x}; 24 var descr = Object.getOwnPropertyDescriptor(object, 'x'); 25 assertEquals(1, descr.value); 26 assertTrue(descr.enumerable); 27 assertTrue(descr.writable); 28 assertTrue(descr.configurable); 29 })(); 30 31 32 (function TestNotDefined() { 33 'use strict'; 34 assertThrows(function() { 35 return {notDefined}; 36 }, ReferenceError); 37 })(); 38 39 40 (function TestLet() { 41 var let = 1; 42 var object = {let}; 43 assertEquals(1, object.let); 44 })(); 45 46 47 (function TestYieldInFunction() { 48 var yield = 1; 49 var object = {yield}; 50 assertEquals(1, object.yield); 51 })(); 52 53 54 (function TestToString() { 55 function f(x) { return {x}; } 56 assertEquals('function f(x) { return {x}; }', f.toString()); 57 })(); 58 59 60 (function TestProtoName() { 61 var __proto__ = 1; 62 var object = { 63 __proto__ 64 }; 65 assertEquals(Object.prototype, Object.getPrototypeOf(object)); 66 assertEquals(1, object.__proto__); 67 })(); 68 69 70 (function TestProtoName2() { 71 var __proto__ = 1; 72 var p = {}; 73 var object = { 74 __proto__: p, 75 __proto__, 76 }; 77 assertEquals(p, Object.getPrototypeOf(object)); 78 assertEquals(1, object.__proto__); 79 })(); 80