v8/test/mjsunit/es6/object-literals-property-shorthand.js
caitpotter88 b444da41ad [es6] support get and set in shorthand properties
Add support for `get` and `set` as shorthand properties. Also
supports them for CoverInitializedName in BindingPatterns and (once implemented)
AssignmentPatterns.

BUG=v8:4412, v8:3584
LOG=N
R=adamk, aperez, wingo, rossberg

Review URL: https://codereview.chromium.org/1328083002

Cr-Commit-Position: refs/heads/master@{#30769}
2015-09-16 16:02:05 +00:00

80 lines
1.5 KiB
JavaScript

// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(function TestBasics() {
var x = 1;
var object = {x};
assertEquals(1, object.x);
})();
(function TestBasicsGetSet() {
var get = 1, set = 2;
var object = {get, set};
assertEquals(1, object.get);
assertEquals(2, object.set);
})();
(function TestDescriptor() {
var x = 1;
var object = {x};
var descr = Object.getOwnPropertyDescriptor(object, 'x');
assertEquals(1, descr.value);
assertTrue(descr.enumerable);
assertTrue(descr.writable);
assertTrue(descr.configurable);
})();
(function TestNotDefined() {
'use strict';
assertThrows(function() {
return {notDefined};
}, ReferenceError);
})();
(function TestLet() {
var let = 1;
var object = {let};
assertEquals(1, object.let);
})();
(function TestYieldInFunction() {
var yield = 1;
var object = {yield};
assertEquals(1, object.yield);
})();
(function TestToString() {
function f(x) { return {x}; }
assertEquals('function f(x) { return {x}; }', f.toString());
})();
(function TestProtoName() {
var __proto__ = 1;
var object = {
__proto__
};
assertEquals(Object.prototype, Object.getPrototypeOf(object));
assertEquals(1, object.__proto__);
})();
(function TestProtoName2() {
var __proto__ = 1;
var p = {};
var object = {
__proto__: p,
__proto__,
};
assertEquals(p, Object.getPrototypeOf(object));
assertEquals(1, object.__proto__);
})();