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

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

Issue 2774783002: Re-land "Format all multitests" (Closed)
Patch Set: Created 3 years, 9 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) 2015, the Dart project authors. Please see the AUTHORS file 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 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 // Evaluation of an if-null expresion e of the form e1 ?? e2 is equivalent to 5 // Evaluation of an if-null expresion e of the form e1 ?? e2 is equivalent to
6 // the evaluation of the expression ((x) => x == null ? e2 : x)(e1). The 6 // the evaluation of the expression ((x) => x == null ? e2 : x)(e1). The
7 // static type of e is the least upper bound of the static type of e1 and the 7 // static type of e is the least upper bound of the static type of e1 and the
8 // static type of e2. 8 // static type of e2.
9 9
10 import "package:expect/expect.dart"; 10 import "package:expect/expect.dart";
11 11
12 class A { 12 class A {
13 final String a; 13 final String a;
14 A(this.a); 14 A(this.a);
15 } 15 }
16 16
17 class B extends A { 17 class B extends A {
18 B(String v) : b = v, super(v); 18 B(String v)
19 : b = v,
20 super(v);
19 final String b; 21 final String b;
20 } 22 }
21 23
22 class C extends A { 24 class C extends A {
23 C(String v) : c = v, super(v); 25 C(String v)
26 : c = v,
27 super(v);
24 final String c; 28 final String c;
25 } 29 }
26 30
27 B nullB() => null; 31 B nullB() => null;
28 C nullC() => null; 32 C nullC() => null;
29 33
30 noMethod(e) => e is NoSuchMethodError; 34 noMethod(e) => e is NoSuchMethodError;
31 35
32 main() { 36 main() {
33 // Make sure the "none" test fails if "??" is not implemented. This makes 37 // Make sure the "none" test fails if "??" is not implemented. This makes
(...skipping 10 matching lines...) Expand all
44 Expect.equals('B', (new B('B') ?? nullC()).a); //# 08: ok 48 Expect.equals('B', (new B('B') ?? nullC()).a); //# 08: ok
45 Expect.equals('B', (new B('B') ?? nullC()).b); //# 09: static type warning 49 Expect.equals('B', (new B('B') ?? nullC()).b); //# 09: static type warning
46 Expect.throws(() => (new B('B') ?? nullC()).c, noMethod); //# 10: static type warning 50 Expect.throws(() => (new B('B') ?? nullC()).c, noMethod); //# 10: static type warning
47 Expect.equals('C', (nullB() ?? new C('C')).a); //# 11: ok 51 Expect.equals('C', (nullB() ?? new C('C')).a); //# 11: ok
48 Expect.throws(() => (nullB() ?? new C('C')).b, noMethod); //# 12: static type warning 52 Expect.throws(() => (nullB() ?? new C('C')).b, noMethod); //# 12: static type warning
49 Expect.equals('C', (nullB() ?? new C('C')).c); //# 13: static type warning 53 Expect.equals('C', (nullB() ?? new C('C')).c); //# 13: static type warning
50 Expect.throws(() => (nullB() ?? nullC()).a, noMethod); //# 14: ok 54 Expect.throws(() => (nullB() ?? nullC()).a, noMethod); //# 14: ok
51 Expect.throws(() => (nullB() ?? nullC()).b, noMethod); //# 15: static type war ning 55 Expect.throws(() => (nullB() ?? nullC()).b, noMethod); //# 15: static type war ning
52 Expect.throws(() => (nullB() ?? nullC()).c, noMethod); //# 16: static type war ning 56 Expect.throws(() => (nullB() ?? nullC()).c, noMethod); //# 16: static type war ning
53 } 57 }
OLDNEW
« no previous file with comments | « tests/language/if_null_assignment_static_test.dart ('k') | tests/language/illegal_initializer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698