Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1490)

Unified Diff: test/mjsunit/harmony/computed-property-names-classes.js

Issue 1273543002: Delete --harmony-computed-property-names flag (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/harmony/computed-property-names-classes.js
diff --git a/test/mjsunit/harmony/computed-property-names-classes.js b/test/mjsunit/harmony/computed-property-names-classes.js
deleted file mode 100644
index 46a9e9ec2de7025f5ebc8b988ff106eed562c0d0..0000000000000000000000000000000000000000
--- a/test/mjsunit/harmony/computed-property-names-classes.js
+++ /dev/null
@@ -1,463 +0,0 @@
-// 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.
-
-'use strict';
-
-// Flags: --harmony-computed-property-names
-
-
-function ID(x) {
- return x;
-}
-
-
-(function TestClassMethodString() {
- class C {
- a() { return 'A'}
- ['b']() { return 'B'; }
- c() { return 'C'; }
- [ID('d')]() { return 'D'; }
- }
- assertEquals('A', new C().a());
- assertEquals('B', new C().b());
- assertEquals('C', new C().c());
- assertEquals('D', new C().d());
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['constructor', 'a', 'b', 'c', 'd'],
- Object.getOwnPropertyNames(C.prototype));
-})();
-
-
-(function TestClassMethodNumber() {
- class C {
- a() { return 'A'; }
- [1]() { return 'B'; }
- c() { return 'C'; }
- [ID(2)]() { return 'D'; }
- }
- assertEquals('A', new C().a());
- assertEquals('B', new C()[1]());
- assertEquals('C', new C().c());
- assertEquals('D', new C()[2]());
- // Array indexes first.
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['1', '2', 'constructor', 'a', 'c'],
- Object.getOwnPropertyNames(C.prototype));
-})();
-
-
-(function TestClassMethodSymbol() {
- var sym1 = Symbol();
- var sym2 = Symbol();
- class C {
- a() { return 'A'; }
- [sym1]() { return 'B'; }
- c() { return 'C'; }
- [ID(sym2)]() { return 'D'; }
- }
- assertEquals('A', new C().a());
- assertEquals('B', new C()[sym1]());
- assertEquals('C', new C().c());
- assertEquals('D', new C()[sym2]());
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['constructor', 'a', 'c'],
- Object.getOwnPropertyNames(C.prototype));
- assertArrayEquals([sym1, sym2], Object.getOwnPropertySymbols(C.prototype));
-})();
-
-
-
-(function TestStaticClassMethodString() {
- class C {
- static a() { return 'A'}
- static ['b']() { return 'B'; }
- static c() { return 'C'; }
- static ['d']() { return 'D'; }
- }
- assertEquals('A', C.a());
- assertEquals('B', C.b());
- assertEquals('C', C.c());
- assertEquals('D', C.d());
- assertArrayEquals([], Object.keys(C));
- // TODO(arv): It is not clear that we are adding the "standard" properties
- // in the right order. As far as I can tell the spec adds them in alphabetical
- // order.
- assertArrayEquals(['length', 'name', 'prototype', 'a', 'b', 'c', 'd'],
- Object.getOwnPropertyNames(C));
-})();
-
-
-(function TestStaticClassMethodNumber() {
- class C {
- static a() { return 'A'; }
- static [1]() { return 'B'; }
- static c() { return 'C'; }
- static [2]() { return 'D'; }
- }
- assertEquals('A', C.a());
- assertEquals('B', C[1]());
- assertEquals('C', C.c());
- assertEquals('D', C[2]());
- // Array indexes first.
- assertArrayEquals([], Object.keys(C));
- assertArrayEquals(['1', '2', 'length', 'name', 'prototype', 'a', 'c'],
- Object.getOwnPropertyNames(C));
-})();
-
-
-(function TestStaticClassMethodSymbol() {
- var sym1 = Symbol();
- var sym2 = Symbol();
- class C {
- static a() { return 'A'; }
- static [sym1]() { return 'B'; }
- static c() { return 'C'; }
- static [sym2]() { return 'D'; }
- }
- assertEquals('A', C.a());
- assertEquals('B', C[sym1]());
- assertEquals('C', C.c());
- assertEquals('D', C[sym2]());
- assertArrayEquals([], Object.keys(C));
- assertArrayEquals(['length', 'name', 'prototype', 'a', 'c'],
- Object.getOwnPropertyNames(C));
- assertArrayEquals([sym1, sym2], Object.getOwnPropertySymbols(C));
-})();
-
-
-
-function assertIteratorResult(value, done, result) {
- assertEquals({ value: value, done: done}, result);
-}
-
-
-(function TestGeneratorComputedName() {
- class C {
- *['a']() {
- yield 1;
- yield 2;
- }
- }
- var iter = new C().a();
- assertIteratorResult(1, false, iter.next());
- assertIteratorResult(2, false, iter.next());
- assertIteratorResult(undefined, true, iter.next());
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['constructor', 'a'],
- Object.getOwnPropertyNames(C.prototype));
-})();
-
-
-(function TestToNameSideEffects() {
- var counter = 0;
- var key1 = {
- toString: function() {
- assertEquals(0, counter++);
- return 'b';
- }
- };
- var key2 = {
- toString: function() {
- assertEquals(1, counter++);
- return 'd';
- }
- };
- class C {
- a() { return 'A'; }
- [key1]() { return 'B'; }
- c() { return 'C'; }
- [key2]() { return 'D'; }
- }
- assertEquals(2, counter);
- assertEquals('A', new C().a());
- assertEquals('B', new C().b());
- assertEquals('C', new C().c());
- assertEquals('D', new C().d());
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['constructor', 'a', 'b', 'c', 'd'],
- Object.getOwnPropertyNames(C.prototype));
-})();
-
-
-(function TestToNameSideEffectsNumbers() {
- var counter = 0;
- var key1 = {
- valueOf: function() {
- assertEquals(0, counter++);
- return 1;
- },
- toString: null
- };
- var key2 = {
- valueOf: function() {
- assertEquals(1, counter++);
- return 2;
- },
- toString: null
- };
-
- class C {
- a() { return 'A'; }
- [key1]() { return 'B'; }
- c() { return 'C'; }
- [key2]() { return 'D'; }
- }
- assertEquals(2, counter);
- assertEquals('A', new C().a());
- assertEquals('B', new C()[1]());
- assertEquals('C', new C().c());
- assertEquals('D', new C()[2]());
- // Array indexes first.
- assertArrayEquals([], Object.keys(C.prototype));
- assertArrayEquals(['1', '2', 'constructor', 'a', 'c'],
- Object.getOwnPropertyNames(C.prototype));
-})();
-
-
-(function TestGetter() {
- class C {
- get ['a']() {
- return 'A';
- }
- }
- assertEquals('A', new C().a);
-
- class C2 {
- get b() {
- assertUnreachable();
- }
- get ['b']() {
- return 'B';
- }
- }
- assertEquals('B', new C2().b);
-
- class C3 {
- get c() {
- assertUnreachable();
- }
- get ['c']() {
- assertUnreachable();
- }
- get ['c']() {
- return 'C';
- }
- }
- assertEquals('C', new C3().c);
-
- class C4 {
- get ['d']() {
- assertUnreachable();
- }
- get d() {
- return 'D';
- }
- }
- assertEquals('D', new C4().d);
-})();
-
-
-(function TestSetter() {
- var calls = 0;
- class C {
- set ['a'](_) {
- calls++;
- }
- }
- new C().a = 'A';
- assertEquals(1, calls);
-
- calls = 0;
- class C2 {
- set b(_) {
- assertUnreachable();
- }
- set ['b'](_) {
- calls++;
- }
- }
- new C2().b = 'B';
- assertEquals(1, calls);
-
- calls = 0;
- class C3 {
- set c(_) {
- assertUnreachable()
- }
- set ['c'](_) {
- assertUnreachable()
- }
- set ['c'](_) {
- calls++
- }
- }
- new C3().c = 'C';
- assertEquals(1, calls);
-
- calls = 0;
- class C4 {
- set ['d'](_) {
- assertUnreachable()
- }
- set d(_) {
- calls++
- }
- }
- new C4().d = 'D';
- assertEquals(1, calls);
-})();
-
-
-(function TestPrototype() {
- assertThrows(function() {
- class C {
- static ['prototype']() {
- return 1;
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C2 {
- static get ['prototype']() {
- return 2;
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C3 {
- static set ['prototype'](x) {
- assertEquals(3, x);
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C4 {
- static *['prototype']() {
- yield 1;
- yield 2;
- }
- }
- }, TypeError);
-})();
-
-
-(function TestPrototypeConcat() {
- assertThrows(function() {
- class C {
- static ['pro' + 'tot' + 'ype']() {
- return 1;
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C2 {
- static get ['pro' + 'tot' + 'ype']() {
- return 2;
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C3 {
- static set ['pro' + 'tot' + 'ype'](x) {
- assertEquals(3, x);
- }
- }
- }, TypeError);
-
- assertThrows(function() {
- class C4 {
- static *['pro' + 'tot' + 'ype']() {
- yield 1;
- yield 2;
- }
- }
- }, TypeError);
-})();
-
-
-(function TestConstructor() {
- // Normally a constructor property is not allowed.
- class C {
- ['constructor']() {
- return 1;
- }
- }
- assertTrue(C !== C.prototype.constructor);
- assertEquals(1, new C().constructor());
-
- class C2 {
- get ['constructor']() {
- return 2;
- }
- }
- assertEquals(2, new C2().constructor);
-
- var calls = 0;
- class C3 {
- set ['constructor'](x) {
- assertEquals(3, x);
- calls++;
- }
- }
- new C3().constructor = 3;
- assertEquals(1, calls);
-
- class C4 {
- *['constructor']() {
- yield 1;
- yield 2;
- }
- }
- var iter = new C4().constructor();
- assertIteratorResult(1, false, iter.next());
- assertIteratorResult(2, false, iter.next());
- assertIteratorResult(undefined, true, iter.next());
-})();
-
-
-(function TestExceptionInName() {
- function MyError() {};
- function throwMyError() {
- throw new MyError();
- }
- assertThrows(function() {
- class C {
- [throwMyError()]() {}
- }
- }, MyError);
- assertThrows(function() {
- class C {
- get [throwMyError()]() { return 42; }
- }
- }, MyError);
- assertThrows(function() {
- class C {
- set [throwMyError()](_) { }
- }
- }, MyError);
-})();
-
-
-(function TestTdzName() {
- assertThrows(function() {
- class C {
- [C]() {}
- }
- }, ReferenceError);
- assertThrows(function() {
- class C {
- get [C]() { return 42; }
- }
- }, ReferenceError);
- assertThrows(function() {
- class C {
- set [C](_) { }
- }
- }, ReferenceError);
-})();
« no previous file with comments | « test/mjsunit/harmony/computed-property-names.js ('k') | test/mjsunit/harmony/computed-property-names-deopt.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698