b444da41ad
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}
80 lines
1.5 KiB
JavaScript
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__);
|
|
})();
|