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

Side by Side Diff: test/mjsunit/harmony/destructuring.js

Issue 1565263002: Revert of Ship ES2015 sloppy-mode function hoisting, let, class (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Flags: --harmony-destructuring-bind 5 // Flags: --harmony-destructuring-bind
6 // Flags: --harmony-default-parameters 6 // Flags: --harmony-default-parameters
7 7
8 (function TestObjectLiteralPattern() { 8 (function TestObjectLiteralPattern() {
9 var { x : x, y : y, get, set } = { x : 1, y : 2, get: 3, set: 4 }; 9 var { x : x, y : y, get, set } = { x : 1, y : 2, get: 3, set: 4 };
10 assertEquals(1, x); 10 assertEquals(1, x);
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 assertEquals(2, f10({x: 6}, 2)); 984 assertEquals(2, f10({x: 6}, 2));
985 function f11({x}, y) { var z = y; var y = 2; return z; } 985 function f11({x}, y) { var z = y; var y = 2; return z; }
986 assertEquals(1, f11({x: 6}, 1)); 986 assertEquals(1, f11({x: 6}, 1));
987 function f12(y, g = () => y) { var y = 2; return g(); } 987 function f12(y, g = () => y) { var y = 2; return g(); }
988 assertEquals(1, f12(1)); 988 assertEquals(1, f12(1));
989 function f13({x}, y, [z], v) { var x, y, z; return x*y*z*v } 989 function f13({x}, y, [z], v) { var x, y, z; return x*y*z*v }
990 assertEquals(210, f13({x: 2}, 3, [5], 7)); 990 assertEquals(210, f13({x: 2}, 3, [5], 7));
991 991
992 function f20({x}) { function x() { return 2 }; return x(); } 992 function f20({x}) { function x() { return 2 }; return x(); }
993 assertEquals(2, f20({x: 1})); 993 assertEquals(2, f20({x: 1}));
994 // Function hoisting is blocked by the conflicting x declaration
995 function f21({x}) { { function x() { return 2 } } return x(); } 994 function f21({x}) { { function x() { return 2 } } return x(); }
996 assertThrows(() => f21({x: 1}), TypeError); 995 assertEquals(2, f21({x: 1}));
997 996
998 var g1 = ({x}) => { var x = 2; return x }; 997 var g1 = ({x}) => { var x = 2; return x };
999 assertEquals(2, g1({x: 1})); 998 assertEquals(2, g1({x: 1}));
1000 var g2 = ({x}) => { { var x = 2; } return x; }; 999 var g2 = ({x}) => { { var x = 2; } return x; };
1001 assertEquals(2, g2({x: 1})); 1000 assertEquals(2, g2({x: 1}));
1002 var g3 = ({x}) => { var y = x; var x = 2; return y; }; 1001 var g3 = ({x}) => { var y = x; var x = 2; return y; };
1003 assertEquals(1, g3({x: 1})); 1002 assertEquals(1, g3({x: 1}));
1004 var g4 = ({x}) => { { var y = x; var x = 2; } return y; }; 1003 var g4 = ({x}) => { { var y = x; var x = 2; } return y; };
1005 assertEquals(1, g4({x: 1})); 1004 assertEquals(1, g4({x: 1}));
1006 var g5 = ({x}, g = () => x) => { var x = 2; return g(); }; 1005 var g5 = ({x}, g = () => x) => { var x = 2; return g(); };
(...skipping 12 matching lines...) Expand all
1019 var g11 = ({x}, y) => { var z = y; var y = 2; return z; }; 1018 var g11 = ({x}, y) => { var z = y; var y = 2; return z; };
1020 assertEquals(1, g11({x: 6}, 1)); 1019 assertEquals(1, g11({x: 6}, 1));
1021 var g12 = (y, g = () => y) => { var y = 2; return g(); }; 1020 var g12 = (y, g = () => y) => { var y = 2; return g(); };
1022 assertEquals(1, g12(1)); 1021 assertEquals(1, g12(1));
1023 var g13 = ({x}, y, [z], v) => { var x, y, z; return x*y*z*v }; 1022 var g13 = ({x}, y, [z], v) => { var x, y, z; return x*y*z*v };
1024 assertEquals(210, g13({x: 2}, 3, [5], 7)); 1023 assertEquals(210, g13({x: 2}, 3, [5], 7));
1025 1024
1026 var g20 = ({x}) => { function x() { return 2 }; return x(); } 1025 var g20 = ({x}) => { function x() { return 2 }; return x(); }
1027 assertEquals(2, g20({x: 1})); 1026 assertEquals(2, g20({x: 1}));
1028 var g21 = ({x}) => { { function x() { return 2 } } return x(); } 1027 var g21 = ({x}) => { { function x() { return 2 } } return x(); }
1029 assertThrows(() => g21({x: 1}), TypeError); 1028 assertEquals(2, g21({x: 1}));
1030 1029
1031 assertThrows("'use strict'; function f(x) { let x = 0; }; f({});", SyntaxError ); 1030 assertThrows("'use strict'; function f(x) { let x = 0; }; f({});", SyntaxError );
1032 assertThrows("'use strict'; function f({x}) { let x = 0; }; f({});", SyntaxErr or); 1031 assertThrows("'use strict'; function f({x}) { let x = 0; }; f({});", SyntaxErr or);
1033 assertThrows("'use strict'; function f(x) { const x = 0; }; f({});", SyntaxErr or); 1032 assertThrows("'use strict'; function f(x) { const x = 0; }; f({});", SyntaxErr or);
1034 assertThrows("'use strict'; function f({x}) { const x = 0; }; f({});", SyntaxE rror); 1033 assertThrows("'use strict'; function f({x}) { const x = 0; }; f({});", SyntaxE rror);
1035 1034
1036 assertThrows("'use strict'; let g = (x) => { let x = 0; }; f({});", SyntaxErro r); 1035 assertThrows("'use strict'; let g = (x) => { let x = 0; }; f({});", SyntaxErro r);
1037 assertThrows("'use strict'; let g = ({x}) => { let x = 0; }; f({});", SyntaxEr ror); 1036 assertThrows("'use strict'; let g = ({x}) => { let x = 0; }; f({});", SyntaxEr ror);
1038 assertThrows("'use strict'; let g = (x) => { const x = 0; }; f({});", SyntaxEr ror); 1037 assertThrows("'use strict'; let g = (x) => { const x = 0; }; f({});", SyntaxEr ror);
1039 assertThrows("'use strict'; let g = ({x}) => { const x = 0; }; f({});", Syntax Error); 1038 assertThrows("'use strict'; let g = ({x}) => { const x = 0; }; f({});", Syntax Error);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1125 throw [1, 2, 3]; 1124 throw [1, 2, 3];
1126 } catch ([foo, ...bar]) { 1125 } catch ([foo, ...bar]) {
1127 assertEquals(1, foo); 1126 assertEquals(1, foo);
1128 assertEquals([2, 3], bar); 1127 assertEquals([2, 3], bar);
1129 } 1128 }
1130 1129
1131 assertEquals("hello", foo); 1130 assertEquals("hello", foo);
1132 assertEquals("world", bar); 1131 assertEquals("world", bar);
1133 assertEquals(42, baz); 1132 assertEquals(42, baz);
1134 })(); 1133 })();
OLDNEW
« no previous file with comments | « test/mjsunit/harmony/classes-derived-return-type.js ('k') | test/mjsunit/harmony/regress/regress-crbug-451770.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698