Index: test/mjsunit/harmony/spread-array.js |
diff --git a/test/mjsunit/harmony/spread-array.js b/test/mjsunit/harmony/spread-array.js |
deleted file mode 100644 |
index 18b72a28c5ab24301625f45c7b5af4979aff6bd6..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/harmony/spread-array.js |
+++ /dev/null |
@@ -1,179 +0,0 @@ |
-// Copyright 2015 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. |
- |
-// Flags: --harmony-spread-arrays --allow-natives-syntax |
- |
-(function TestBasics() { |
- var a = [1, 2]; |
- var b = [...a]; |
- assertArrayEquals([1, 2], b) |
- |
- assertArrayEquals(['a', 'b', 'c', 'd', 'e', 'f'], |
- ['a', ...'bc', 'd', ...'ef']) |
-})(); |
- |
- |
-var log = []; |
- |
-function* gen(n) { |
- log.push(n, 1); |
- yield 1; |
- log.push(n, 2); |
- yield 2; |
- log.push(n, 3); |
- yield 3; |
- log.push(n, 'done'); |
-} |
- |
-function id(v) { |
- log.push(v); |
- return v; |
-} |
- |
- |
-(function TestGenerator() { |
- assertArrayEquals([1, 2, 3], [...gen('a')]); |
- assertArrayEquals(['x', 1, 2, 3, 'y', 1, 2, 3, 'z'], |
- ['x', ...gen('a'), 'y', ...gen('b'), 'z']); |
-})(); |
- |
- |
-(function TestOrderOfExecution() { |
- log = []; |
- assertArrayEquals(['x', 1, 2, 3, 'y', 1, 2, 3, 'z'], |
- [id('x'), ...gen('a'), id('y'), ...gen('b'), id('z')]); |
- assertArrayEquals([ |
- 'x', 'a', 1, 'a', 2, 'a', 3, 'a', 'done', |
- 'y', 'b', 1, 'b', 2, 'b', 3, 'b', 'done', |
- 'z' |
- ], log); |
-})(); |
- |
- |
-(function TestNotIterable() { |
- var a; |
- assertThrows(function() { |
- a = [...42]; |
- }, TypeError); |
- assertSame(undefined, a); |
- |
- |
-})(); |
- |
- |
-(function TestInvalidIterator() { |
- var iter = { |
- [Symbol.iterator]: 42 |
- }; |
- var a; |
- assertThrows(function() { |
- a = [...iter]; |
- }, TypeError); |
- assertSame(undefined, a); |
-})(); |
- |
- |
-(function TestIteratorNotAnObject() { |
- var iter = { |
- [Symbol.iterator]() { |
- return 42; |
- } |
- }; |
- var a; |
- assertThrows(function() { |
- a = [...iter]; |
- }, TypeError); |
- assertSame(undefined, a); |
-})(); |
- |
- |
-(function TestIteratorNoNext() { |
- var iter = { |
- [Symbol.iterator]() { |
- return {}; |
- } |
- }; |
- var a; |
- assertThrows(function() { |
- a = [...iter]; |
- }, TypeError); |
- assertSame(undefined, a); |
-})(); |
- |
- |
-(function TestIteratorResultDoneThrows() { |
- function MyError() {} |
- var iter = { |
- [Symbol.iterator]() { |
- return { |
- next() { |
- return { |
- get done() { |
- throw new MyError(); |
- } |
- } |
- } |
- }; |
- } |
- }; |
- var a; |
- assertThrows(function() { |
- a = [...iter]; |
- }, MyError); |
- assertSame(undefined, a); |
-})(); |
- |
- |
-(function TestIteratorResultValueThrows() { |
- function MyError() {} |
- var iter = { |
- [Symbol.iterator]() { |
- return { |
- next() { |
- return { |
- done: false, |
- get value() { |
- throw new MyError(); |
- } |
- } |
- } |
- }; |
- } |
- }; |
- var a; |
- assertThrows(function() { |
- a = [...iter]; |
- }, MyError); |
- assertSame(undefined, a); |
-})(); |
- |
- |
-(function TestOptimize() { |
- function f() { |
- return [...'abc']; |
- } |
- assertArrayEquals(['a', 'b', 'c'], f()); |
- %OptimizeFunctionOnNextCall(f); |
- assertArrayEquals(['a', 'b', 'c'], f()); |
-})(); |
- |
- |
-(function TestDeoptimize() { |
- var iter = { |
- [Symbol.iterator]() { |
- var i = 0; |
- return { |
- next() { |
- $DeoptimizeFunction(f); |
- return {value: ++i, done: i === 3}; |
- } |
- }; |
- } |
- }; |
- function f() { |
- return [0, ...iter]; |
- } |
- |
- assertArrayEquals([0, 1, 2], f()); |
-}); |