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

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

Issue 10918261: Update language tests to new optional parameter syntax and semantics. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 // Dart test program for default constructors. 4 // Dart test program for default constructors.
5 5
6 String message; 6 String message;
7 7
8 foo() { 8 foo() {
9 message = message.concat('foo'); 9 message = message.concat('foo');
10 return 1; 10 return 1;
11 } 11 }
12 12
13 bar() { 13 bar() {
14 message = message.concat('bar'); 14 message = message.concat('bar');
15 return 2; 15 return 2;
16 } 16 }
17 17
18 class X { 18 class X {
19 var i; 19 var i;
20 var j; 20 var j;
21 X([a = 'defa', b = 'defb']) : this.i = a, this.j = b; 21 X({a: 'defa', b: 'defb'}) : this.i = a, this.j = b;
22 X.foo() : this(b: 1, a: 2); 22 X.foo() : this(b: 1, a: 2);
23 X.bar() : this( 23 X.bar() : this(
24 1, /// 01: runtime error 24 1, /// 01: runtime error
25 a: 2); 25 a: 2);
26 X.baz() : this(a: 1, b: 2); 26 X.baz() : this(a: 1, b: 2);
27 X.qux() : this(1, 2); 27 X.qux() : this(b: 2);
28 X.hest() : this(); 28 X.hest() : this();
29 X.fisk() : this(b: bar(), a: foo()); 29 X.fisk() : this(b: bar(), a: foo());
30 X.naebdyr() : this(a: foo(), b: bar()); 30 X.naebdyr() : this(a: foo(), b: bar());
31 } 31 }
32 32
33 test(x, a, b) { 33 test(x, a, b) {
34 Expect.equals(x.i, a); 34 Expect.equals(x.i, a);
35 Expect.equals(x.j, b); 35 Expect.equals(x.j, b);
36 } 36 }
37 37
38 main() { 38 main() {
39 test(new X.foo(), 2, 1); 39 test(new X.foo(), 2, 1);
40 test(new X.bar(), 2, 'defb'); 40 test(new X.bar(), 2, 'defb');
41 test(new X.baz(), 1, 2); 41 test(new X.baz(), 1, 2);
42 test(new X.qux(), 1, 2); 42 test(new X.qux(), 'defa', 2);
43 test(new X.hest(), 'defa', 'defb'); 43 test(new X.hest(), 'defa', 'defb');
44 44
45 message = ''; 45 message = '';
46 new X.fisk(); 46 new X.fisk();
47 Expect.equals('barfoo', message); 47 Expect.equals('barfoo', message);
48 48
49 message = ''; 49 message = '';
50 new X.naebdyr(); 50 new X.naebdyr();
51 Expect.equals('foobar', message); 51 Expect.equals('foobar', message);
52 } 52 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698