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

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

Issue 1576093003: cpsir unittests: move all unittests into individual files and test runners. (Closed) Base URL: git@github.com:dart-lang/sdk.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
(Empty)
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
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.
4
5 // Tests of operators.
6
7 library operators2_tests;
8
9 import 'js_backend_cps_ir.dart';
10
11 const List<TestEntry> tests = const [
12
13 const TestEntry(r"""
14 foo(a, b) => ((a & 0xff0000) >> 1) & b;
15 main() {
16 print(foo(123, 234));
17 print(foo(0, 2));
18 }""", r"""
19 function() {
20 P.print((123 & 16711680) >>> 1 & 234);
21 P.print((0 & 16711680) >>> 1 & 2);
22 }"""),
23
24 const TestEntry(r"""
25 foo(a) => ~a;
26 main() {
27 print(foo(1));
28 print(foo(10));
29 }""", r"""
30 function() {
31 P.print(~1 >>> 0);
32 P.print(~10 >>> 0);
33 }"""),
34
35 const TestEntry.forMethod('function(foo)',
36 r"""
37 foo(a) => a % 13;
38 main() {
39 print(foo(5));
40 print(foo(-100));
41 }""", r"""
42 function(a) {
43 var result = a % 13;
44 return result === 0 ? 0 : result > 0 ? result : 13 < 0 ? result - 13 : result + 13;
45 }"""),
46
47 const TestEntry(r"""
48 foo(a) => a % 13;
49 main() {
50 print(foo(5));
51 print(foo(100));
52 }""", r"""
53 function() {
54 P.print(5 % 13);
55 P.print(100 % 13);
56 }"""),
57
58 const TestEntry(r"""
59 foo(a) => a.remainder(13);
60 main() {
61 print(foo(5));
62 print(foo(-100));
63 }""", r"""
64 function() {
65 P.print(5 % 13);
66 P.print(-100 % 13);
67 }"""),
68
69 const TestEntry.forMethod('function(foo)',
70 r"""
71 foo(a) => a ~/ 13;
72 main() {
73 print(foo(5));
74 print(foo(-100));
75 }""", r"""
76 function(a) {
77 return (a | 0) === a && (13 | 0) === 13 ? a / 13 | 0 : J.toInt$0$n(a / 13);
78 }"""),
79
80 const TestEntry(r"""
81 foo(a) => a ~/ 13;
82 main() {
83 print(foo(5));
84 print(foo(100));
85 }""", r"""
86 function() {
87 P.print(5 / 13 | 0);
88 P.print(100 / 13 | 0);
89 }"""),
90
91 const TestEntry.forMethod('function(foo)',
92 r"""
93 foo(a) => a ~/ 13;
94 main() {
95 print(foo(5));
96 print(foo(8000000000));
97 }""", r"""
98 function(a) {
99 return (a | 0) === a && (13 | 0) === 13 ? a / 13 | 0 : J.toInt$0$n(a / 13);
100 }"""),
101
102 ];
103
104 void main() {
105 runTests(tests);
106 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698