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

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

Issue 914713002: Remove Function.prototype.toMethod (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove comment Created 5 years, 10 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-api.cc ('k') | test/mjsunit/harmony/toMethod.js » ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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-classes 5 // Flags: --harmony-classes --allow-natives-syntax
6 6
7 (function TestSuperNamedLoads() { 7 (function TestSuperNamedLoads() {
8 function Base() { } 8 function Base() { }
9 function fBase() { } 9 function fBase() { }
10 Base.prototype = { 10 Base.prototype = {
11 f() { 11 f() {
12 return "Base " + this.toString(); 12 return "Base " + this.toString();
13 }, 13 },
14 x: 15, 14 x: 15,
15 toString() { 15 toString() {
(...skipping 17 matching lines...) Expand all
33 return "Derived"; 33 return "Derived";
34 } 34 }
35 }; 35 };
36 36
37 assertEquals("Base this is Base", new Base().f()); 37 assertEquals("Base this is Base", new Base().f());
38 assertEquals("Derived", new Derived().f()); 38 assertEquals("Derived", new Derived().f());
39 }()); 39 }());
40 40
41 41
42 (function TestSuperKeyedLoads() { 42 (function TestSuperKeyedLoads() {
43 'use strict';
44
43 var x = 'x'; 45 var x = 'x';
44 var derivedDataProperty = 'derivedDataProperty'; 46 var derivedDataProperty = 'derivedDataProperty';
45 var f = 'f'; 47 var f = 'f';
46 48
47 function Base() { } 49 class Base {
48 function fBase() { return "Base " + this.toString(); } 50 f() {
49 Base.prototype[f] = fBase.toMethod(Base.prototype); 51 return "Base " + this.toString();
52 }
53 toString() {
54 return "this is Base";
55 }
56 }
57
50 Base.prototype[x] = 15; 58 Base.prototype[x] = 15;
51 Base.prototype.toString = function() { return "this is Base"; };
52 59
53 function Derived() { 60 function Derived() {
54 this[derivedDataProperty] = "xxx"; 61 this[derivedDataProperty] = "xxx";
55 } 62 }
56 Derived.prototype = { 63 Derived.prototype = {
57 __proto__: Base.prototype, 64 __proto__: Base.prototype,
58 toString() { return "this is Derived"; }, 65 toString() { return "this is Derived"; },
59 x: 27, 66 x: 27,
60 f() { 67 f() {
61 assertEquals("Base this is Derived", super[f]()); 68 assertEquals("Base this is Derived", super[f]());
(...skipping 10 matching lines...) Expand all
72 }()); 79 }());
73 80
74 81
75 (function TestSuperNumericKeyedLoads() { 82 (function TestSuperNumericKeyedLoads() {
76 var x = 1; 83 var x = 1;
77 var derivedDataProperty = 2; 84 var derivedDataProperty = 2;
78 var f = 3; 85 var f = 3;
79 86
80 function Base() { } 87 function Base() { }
81 function fBase() { return "Base " + this.toString(); } 88 function fBase() { return "Base " + this.toString(); }
82 Base.prototype[f] = fBase.toMethod(Base.prototype); 89 Base.prototype[f] = %ToMethod(fBase, Base.prototype);
83 Base.prototype[x] = 15; 90 Base.prototype[x] = 15;
84 Base.prototype.toString = function() { return "this is Base"; }; 91 Base.prototype.toString = function() { return "this is Base"; };
85 92
86 function Derived() { 93 function Derived() {
87 this[derivedDataProperty] = "xxx"; 94 this[derivedDataProperty] = "xxx";
88 } 95 }
89 Derived.prototype = { 96 Derived.prototype = {
90 __proto__: Base.prototype, 97 __proto__: Base.prototype,
91 toString() { return "this is Derived"; }, 98 toString() { return "this is Derived"; },
92 1: 27, 99 1: 27,
(...skipping 1822 matching lines...) Expand 10 before | Expand all | Expand 10 after
1915 1922
1916 class C3 { 1923 class C3 {
1917 constructor() { 1924 constructor() {
1918 ; 'use strict';;;;; 1925 ; 'use strict';;;;;
1919 // This is a comment. 1926 // This is a comment.
1920 super(); 1927 super();
1921 } 1928 }
1922 } 1929 }
1923 new C3(); 1930 new C3();
1924 }()); 1931 }());
OLDNEW
« no previous file with comments | « test/cctest/test-api.cc ('k') | test/mjsunit/harmony/toMethod.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698