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

Side by Side Diff: tests/language/named_parameters_with_conversions_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 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 (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 // Test named arguments work as expected regardless of whether the function or 5 // Test named arguments work as expected regardless of whether the function or
6 // method is called via function call syntax or method call syntax. 6 // method is called via function call syntax or method call syntax.
7 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation 7 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
8 8
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 10
11
12 Validate(tag, a, b) { 11 Validate(tag, a, b) {
13 // tag encodes which parameters are passed in with values a: 111, b: 222. 12 // tag encodes which parameters are passed in with values a: 111, b: 222.
14 if (tag == 'ab') { 13 if (tag == 'ab') {
15 Expect.equals(a, 111); 14 Expect.equals(a, 111);
16 Expect.equals(b, 222); 15 Expect.equals(b, 222);
17 } 16 }
18 if (tag == 'a') { 17 if (tag == 'a') {
19 Expect.equals(a, 111); 18 Expect.equals(a, 111);
20 Expect.equals(b, 20); 19 Expect.equals(b, 20);
21 } 20 }
22 if (tag == 'b') { 21 if (tag == 'b') {
23 Expect.equals(a, 10); 22 Expect.equals(a, 10);
24 Expect.equals(b, 222); 23 Expect.equals(b, 222);
25 } 24 }
26 if (tag == '') { 25 if (tag == '') {
27 Expect.equals(a, 10); 26 Expect.equals(a, 10);
28 Expect.equals(b, 20); 27 Expect.equals(b, 20);
29 } 28 }
30 } 29 }
31 30
32 class HasMethod { 31 class HasMethod {
33
34 int calls; 32 int calls;
35 33
36 HasMethod() : calls = 0 {} 34 HasMethod() : calls = 0 {}
37 35
38 foo(tag, [a = 10, b = 20]) { 36 foo(tag, [a = 10, b = 20]) {
39 calls += 1; 37 calls += 1;
40 Validate(tag, a, b); 38 Validate(tag, a, b);
41 } 39 }
42 40
43 foo2(tag, {a: 10, b: 20}) { 41 foo2(tag, {a: 10, b: 20}) {
44 calls += 1; 42 calls += 1;
45 Validate(tag, a, b); 43 Validate(tag, a, b);
46 } 44 }
47 } 45 }
48 46
49 class HasField { 47 class HasField {
50
51 int calls; 48 int calls;
52 var foo, foo2; 49 var foo, foo2;
53 50
54 HasField() { 51 HasField() {
55 calls = 0; 52 calls = 0;
56 foo = makeFoo(this); 53 foo = makeFoo(this);
57 foo2 = makeFoo2(this); 54 foo2 = makeFoo2(this);
58 } 55 }
59 56
60 makeFoo(owner) { 57 makeFoo(owner) {
61 // This function is closed-over 'owner'. 58 // This function is closed-over 'owner'.
62 return (tag, [a = 10, b = 20]) { 59 return (tag, [a = 10, b = 20]) {
63 owner.calls += 1; 60 owner.calls += 1;
64 Validate(tag, a, b); 61 Validate(tag, a, b);
65 }; 62 };
66 } 63 }
67 64
68 makeFoo2(owner) { 65 makeFoo2(owner) {
69 // This function is closed-over 'owner'. 66 // This function is closed-over 'owner'.
70 return (tag, {a: 10, b: 20}) { 67 return (tag, {a: 10, b: 20}) {
71 owner.calls += 1; 68 owner.calls += 1;
72 Validate(tag, a, b); 69 Validate(tag, a, b);
73 }; 70 };
74 } 71 }
75 } 72 }
76 73
77
78 class NamedParametersWithConversionsTest { 74 class NamedParametersWithConversionsTest {
79
80 static checkException(thunk) { 75 static checkException(thunk) {
81 bool threw = false; 76 bool threw = false;
82 try { 77 try {
83 thunk(); 78 thunk();
84 } catch (e) { 79 } catch (e) {
85 threw = true; 80 threw = true;
86 } 81 }
87 Expect.isTrue(threw); 82 Expect.isTrue(threw);
88 } 83 }
89 84
90 static testMethodCallSyntax(a) { 85 static testMethodCallSyntax(a) {
91 a.foo(''); 86 a.foo('');
92 a.foo('a', 111); 87 a.foo('a', 111);
93 a.foo('ab', 111, 222); 88 a.foo('ab', 111, 222);
94 a.foo2('a', a: 111); 89 a.foo2('a', a: 111);
95 a.foo2('b', b: 222); 90 a.foo2('b', b: 222);
96 a.foo2('ab', a: 111, b: 222); 91 a.foo2('ab', a: 111, b: 222);
97 a.foo2('ab', b: 222, a: 111); 92 a.foo2('ab', b: 222, a: 111);
98 93
99 Expect.equals(7, a.calls); 94 Expect.equals(7, a.calls);
100 95
101 checkException(() => a.foo()); // Too few arguments. 96 checkException(() => a.foo()); // Too few arguments.
102 checkException(() => a.foo('abc', 1, 2, 3)); // Too many arguments. 97 checkException(() => a.foo('abc', 1, 2, 3)); // Too many arguments.
103 checkException(() => a.foo2('c', c: 1)); // Bad name. 98 checkException(() => a.foo2('c', c: 1)); // Bad name.
104 checkException(() => a.foo2('c', a:111, c: 1)); // Bad name. 99 checkException(() => a.foo2('c', a: 111, c: 1)); // Bad name.
105 100
106 Expect.equals(7, a.calls); 101 Expect.equals(7, a.calls);
107 } 102 }
108 103
109 static testFunctionCallSyntax(a) { 104 static testFunctionCallSyntax(a) {
110 var f = a.foo; 105 var f = a.foo;
111 var f2 = a.foo2; 106 var f2 = a.foo2;
112 f(''); 107 f('');
113 f('a', 111); 108 f('a', 111);
114 f('ab', 111, 222); 109 f('ab', 111, 222);
(...skipping 22 matching lines...) Expand all
137 testMethodCallSyntax(new HasField()); 132 testMethodCallSyntax(new HasField());
138 testFunctionCallSyntax(new HasMethod()); 133 testFunctionCallSyntax(new HasMethod());
139 } 134 }
140 } 135 }
141 136
142 main() { 137 main() {
143 for (var i = 0; i < 20; i++) { 138 for (var i = 0; i < 20; i++) {
144 NamedParametersWithConversionsTest.testMain(); 139 NamedParametersWithConversionsTest.testMain();
145 } 140 }
146 } 141 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698