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

Side by Side Diff: tests/compiler/dart2js/js_backend_cps_ir_operators_test.dart

Issue 1537663002: dart2js: Initial implementation of inlining. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rebaseline test expectations and fix a bug (typo). Created 5 years 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 (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Tests of operators. 5 // Tests of operators.
6 6
7 library operators_tests; 7 library operators_tests;
8 8
9 import 'js_backend_cps_ir.dart'; 9 import 'js_backend_cps_ir.dart';
10 10
11 const List<TestEntry> tests = const [ 11 const List<TestEntry> tests = const [
12 const TestEntry("main() { return true ? 42 : 'foo'; }"), 12 const TestEntry("main() { return true ? 42 : 'foo'; }"),
13 const TestEntry(""" 13 const TestEntry("""
14 var x = 1; 14 var x = 1;
15 foo() => ++x > 10; 15 foo() => ++x > 10;
16 main() { 16 main() {
17 print(foo() ? "hello world" : "bad bad"); 17 print(foo() ? "hello world" : "bad bad");
18 }""",""" 18 }""",r"""
19 function() { 19 function() {
20 P.print(V.foo() ? "hello world" : "bad bad"); 20 var v0 = $.x + 1;
21 }"""), 21 $.x = v0;
22 const TestEntry(""" 22 v0 = v0 > 10 ? "hello world" : "bad bad";
23 var x = 1; 23 if (typeof dartPrint == "function")
24 foo() => ++x > 10; 24 dartPrint(v0);
25 main() { 25 else if (typeof console == "object" && typeof console.log != "undefined")
26 print(foo() ? "hello world" : "bad bad"); 26 console.log(v0);
27 }""",""" 27 else if (!(typeof window == "object")) {
28 function() { 28 if (!(typeof print == "function"))
29 P.print(V.foo() ? "hello world" : "bad bad"); 29 throw "Unable to print message: " + String(v0);
30 print(v0);
31 }
30 }"""), 32 }"""),
31 const TestEntry(""" 33 const TestEntry("""
32 var x = 1; 34 var x = 1;
33 get foo => ++x > 10; 35 get foo => ++x > 10;
34 main() { 36 main() {
35 print(foo ? "hello world" : "bad bad"); 37 print(foo ? "hello world" : "bad bad");
36 }""",""" 38 }""",r"""
37 function() { 39 function() {
38 P.print(V.foo() ? "hello world" : "bad bad"); 40 var v0 = $.x + 1;
41 $.x = v0;
42 v0 = v0 > 10 ? "hello world" : "bad bad";
43 if (typeof dartPrint == "function")
44 dartPrint(v0);
45 else if (typeof console == "object" && typeof console.log != "undefined")
46 console.log(v0);
47 else if (!(typeof window == "object")) {
48 if (!(typeof print == "function"))
49 throw "Unable to print message: " + String(v0);
50 print(v0);
51 }
39 }"""), 52 }"""),
40 const TestEntry(""" 53 const TestEntry("""
41 var x = 1; 54 var x = 1;
42 get foo => ++x > 10; 55 get foo => ++x > 10;
43 main() { print(foo && foo); } 56 main() { print(foo && foo); }
44 """, """ 57 """, r"""
45 function() { 58 function() {
46 P.print(V.foo() ? !!V.foo() : false); 59 var v0 = $.x + 1;
60 $.x = v0;
61 if (v0 > 10) {
62 $.x = v0 = $.x + 1;
63 v0 = v0 > 10;
64 } else
65 v0 = false;
66 v0 = H.S(v0);
67 if (typeof dartPrint == "function")
68 dartPrint(v0);
69 else if (typeof console == "object" && typeof console.log != "undefined")
70 console.log(v0);
71 else if (!(typeof window == "object")) {
72 if (!(typeof print == "function"))
73 throw "Unable to print message: " + String(v0);
74 print(v0);
75 }
47 }"""), 76 }"""),
48 const TestEntry(""" 77 const TestEntry("""
49 var x = 1; 78 var x = 1;
50 get foo => ++x > 10; 79 get foo => ++x > 10;
51 main() { print(foo || foo); } 80 main() { print(foo || foo); }
52 """,""" 81 """,r"""
53 function() { 82 function() {
54 P.print(V.foo() ? true : !!V.foo()); 83 var v0 = $.x + 1;
84 $.x = v0;
85 if (v0 > 10)
86 v0 = true;
87 else {
88 $.x = v0 = $.x + 1;
89 v0 = v0 > 10;
90 }
91 v0 = H.S(v0);
92 if (typeof dartPrint == "function")
93 dartPrint(v0);
94 else if (typeof console == "object" && typeof console.log != "undefined")
95 console.log(v0);
96 else if (!(typeof window == "object")) {
97 if (!(typeof print == "function"))
98 throw "Unable to print message: " + String(v0);
99 print(v0);
100 }
55 }"""), 101 }"""),
56 const TestEntry(""" 102 const TestEntry("""
57 get foo => foo; 103 get foo => foo;
58 main() { print(foo || foo); } 104 main() { print(foo || foo); }
59 """,""" 105 ""","""
60 function() { 106 function() {
61 V.foo(); 107 V.foo();
62 }"""), 108 }"""),
63 109
64 // Needs interceptor calling convention 110 // Needs interceptor calling convention
(...skipping 12 matching lines...) Expand all
77 //} 123 //}
78 //"""), 124 //"""),
79 125
80 const TestEntry(""" 126 const TestEntry("""
81 main() { 127 main() {
82 var list = [1, 2, 3]; 128 var list = [1, 2, 3];
83 list[1] = 6; 129 list[1] = 6;
84 print(list); 130 print(list);
85 }""", r""" 131 }""", r"""
86 function() { 132 function() {
87 var list = [1, 2, 3]; 133 var list = [1, 2, 3], res, v0;
88 list[1] = 6; 134 list[1] = 6;
89 P.print(list); 135 if (!(typeof (res = C.JSArray_methods.toString$0(list)) === "string"))
136 throw H.wrapException(H.argumentErrorValue(list));
137 v0 = res;
138 if (typeof dartPrint == "function")
139 dartPrint(v0);
140 else if (typeof console == "object" && typeof console.log != "undefined")
141 console.log(v0);
142 else if (!(typeof window == "object")) {
143 if (!(typeof print == "function"))
144 throw "Unable to print message: " + String(v0);
145 print(v0);
146 }
90 }"""), 147 }"""),
91 ]; 148 ];
92 149
93 void main() { 150 void main() {
94 runTests(tests); 151 runTests(tests);
95 } 152 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698