blob: f0ddd68d42aad0bc3edaed5177edf98fb519d0e1 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// 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})();