object-literals-property-shorthand.js 1.52 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
// 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);
})();


13 14 15 16 17 18 19 20
(function TestBasicsGetSet() {
  var get = 1, set = 2;
  var object = {get, set};
  assertEquals(1, object.get);
  assertEquals(2, object.set);
})();


21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
(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());
})();
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79


(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__);
})();