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

Side by Side Diff: test/mjsunit/es6/classes-subclass-builtins.js

Issue 1731063007: Remove the global Strength enum class completely. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_strong-remove-literals
Patch Set: Remove more cruft. Created 4 years, 9 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
« no previous file with comments | « test/cctest/test-unboxed-doubles.cc ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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: --allow-natives-syntax --harmony-reflect --harmony-regexp-subclass 5 // Flags: --allow-natives-syntax --harmony-reflect --harmony-regexp-subclass
6 // Flags: --expose-gc --strong-mode 6 // Flags: --expose-gc --strong-mode
7 7
8 "use strict"; 8 "use strict";
9 9
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 71
72 gc(); 72 gc();
73 })(); 73 })();
74 74
75 75
76 (function() { 76 (function() {
77 class A extends Function { 77 class A extends Function {
78 constructor(...args) { 78 constructor(...args) {
79 assertFalse(new.target === undefined); 79 assertFalse(new.target === undefined);
80 super(...args); 80 super(...args);
81 // Strong functions are not extensible, so don't add fields.
82 if (args[args.length - 1].indexOf("use strong") >= 0) {
83 assertThrows(()=>{ this.a = 10; }, TypeError);
84 return;
85 }
86 this.a = 42; 81 this.a = 42;
87 this.d = 4.2; 82 this.d = 4.2;
88 this.o = {foo:153}; 83 this.o = {foo:153};
89 } 84 }
90 } 85 }
91 var sloppy_func = new A(""); 86 var sloppy_func = new A("");
92 var strict_func = new A("'use strict';"); 87 var strict_func = new A("'use strict';");
93 assertNull(sloppy_func.caller); 88 assertNull(sloppy_func.caller);
94 assertThrows("strict_f.caller"); 89 assertThrows("strict_f.caller");
95 assertNull(Object.getOwnPropertyDescriptor(sloppy_func, "caller").value); 90 assertNull(Object.getOwnPropertyDescriptor(sloppy_func, "caller").value);
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 assertTrue(%HaveSameMap(sloppy_func, sloppy_func1)); 647 assertTrue(%HaveSameMap(sloppy_func, sloppy_func1));
653 648
654 // Strict generator function 649 // Strict generator function
655 var strict_func = new A("'use strict'; " + source); 650 var strict_func = new A("'use strict'; " + source);
656 assertFalse(%HaveSameMap(strict_func, sloppy_func)); 651 assertFalse(%HaveSameMap(strict_func, sloppy_func));
657 CheckFunction(strict_func, false); 652 CheckFunction(strict_func, false);
658 653
659 var strict_func1 = new A("'use strict'; yield 312;"); 654 var strict_func1 = new A("'use strict'; yield 312;");
660 assertTrue(%HaveSameMap(strict_func, strict_func1)); 655 assertTrue(%HaveSameMap(strict_func, strict_func1));
661 656
662 // Strong generator function
663 var strong_func = new A("'use strong'; " + source);
664 assertFalse(%HaveSameMap(strong_func, sloppy_func));
665 assertFalse(%HaveSameMap(strong_func, strict_func));
666 CheckFunction(strong_func, true);
667
668 var strong_func1 = new A("'use strong'; yield 312;");
669 assertTrue(%HaveSameMap(strong_func, strong_func1));
670
671 gc(); 657 gc();
672 })(); 658 })();
673 659
674 660
675 (function() { 661 (function() {
676 class A extends Promise { 662 class A extends Promise {
677 constructor(...args) { 663 constructor(...args) {
678 assertFalse(new.target === undefined); 664 assertFalse(new.target === undefined);
679 super(...args); 665 super(...args);
680 this.a = 42; 666 this.a = 42;
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 933
948 Object.defineProperty(pattern, Symbol.match, { 934 Object.defineProperty(pattern, Symbol.match, {
949 get() { log.push("match"); f.prototype = p2; return false; }}); 935 get() { log.push("match"); f.prototype = p2; return false; }});
950 936
951 var o = Reflect.construct(RegExp, [pattern], f); 937 var o = Reflect.construct(RegExp, [pattern], f);
952 assertEquals(["match", "tostring"], log); 938 assertEquals(["match", "tostring"], log);
953 assertEquals(/biep/, o); 939 assertEquals(/biep/, o);
954 assertTrue(o.__proto__ === p2); 940 assertTrue(o.__proto__ === p2);
955 assertTrue(f.prototype === p3); 941 assertTrue(f.prototype === p3);
956 })(); 942 })();
OLDNEW
« no previous file with comments | « test/cctest/test-unboxed-doubles.cc ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698