OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2017, 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 // Dart test for type checks involving the void type. | |
6 | |
7 import 'package:expect/expect.dart'; | |
8 | |
9 typedef F = void Function(Object); | |
10 typedef F2 = void Function([Object]); | |
11 typedef F3 = void Function({Object x}); | |
12 | |
13 typedef G = void Function(void); | |
14 typedef G2 = void Function([void]); | |
15 typedef G3 = void Function({void x}); | |
16 | |
17 typedef H = int Function(void); | |
18 typedef H2 = int Function([void]); | |
19 typedef H3 = int Function({void x}); | |
20 | |
21 void f(Object x) {} | |
22 void f2([Object x]) {} | |
23 void f3({Object x}) {} | |
24 | |
25 void g(void x) {} | |
26 void g2([void x]) {} | |
27 void g3({void x}) {} | |
28 | |
29 int h(void x) => 499; | |
30 int h2([void x]) => 499; | |
31 int h3({void x}) => 499; | |
32 | |
33 void expectsF(F f) {} | |
34 void expectsG(G g) {} | |
35 void expectsH(H h) {} | |
36 | |
37 void expectsF2(F2 f) {} | |
38 void expectsG2(G2 g) {} | |
39 void expectsH2(H2 h) {} | |
40 | |
41 void expectsF3(F3 f) {} | |
42 void expectsG3(G3 g) {} | |
43 void expectsH3(H3 h) {} | |
44 | |
45 main() { | |
46 Expect.isTrue(f is F); | |
47 Expect.isTrue(f is G); | |
48 Expect.isFalse(f is H); | |
49 expectsF(f); | |
50 expectsG(f); | |
51 expectsH(f); /// 00: error | |
52 | |
53 Expect.isTrue(f2 is F2); | |
54 Expect.isTrue(f2 is G2); | |
55 Expect.isFalse(f2 is H2); | |
56 expectsF2(f2); | |
57 expectsG2(f2); | |
58 expectsH2(f2); /// 01: error | |
59 | |
60 Expect.isTrue(f3 is F3); | |
61 Expect.isTrue(f3 is G3); | |
62 Expect.isFalse(f3 is H3); | |
63 expectsF3(f3); | |
64 expectsG3(f3); | |
65 expectsH3(f3); /// 03: error | |
66 | |
67 Expect.isTrue(g is F); | |
68 Expect.isTrue(g is G); | |
69 Expect.isFalse(g is H); | |
70 expectsF(g); /// 04: error | |
eernst
2017/07/10 16:05:34
I cannot see how this could be an error. It would
| |
71 expectsG(g); | |
72 expectsH(g); /// 05: error | |
73 | |
74 Expect.isTrue(g2 is F2); | |
75 Expect.isTrue(g2 is G2); | |
76 Expect.isFalse(g2 is H2); | |
77 expectsF2(g2); /// 06: error | |
eernst
2017/07/10 16:05:34
Same as line 70.
| |
78 expectsG2(g2); | |
79 expectsH2(g2); /// 07: error | |
80 | |
81 Expect.isTrue(g3 is F3); | |
82 Expect.isTrue(g3 is G3); | |
83 Expect.isFalse(g3 is H3); | |
84 expectsF3(g3); /// 08: error | |
eernst
2017/07/10 16:05:34
Same as line 70.
| |
85 expectsG3(g3); | |
86 expectsH3(g3); /// 09: error | |
87 | |
88 Expect.isTrue(h is F); | |
89 Expect.isTrue(h is G); | |
90 Expect.isTrue(h is H); | |
91 expectsF(h); | |
92 expectsG(h); | |
93 expectsH(h); | |
94 | |
95 Expect.isTrue(h2 is H2); | |
96 Expect.isTrue(h2 is G2); | |
97 Expect.isTrue(h2 is H2); | |
98 expectsF(h2); | |
99 expectsG(h2); | |
100 expectsH(h2); | |
101 | |
102 Expect.isTrue(h3 is H3); | |
103 Expect.isTrue(h3 is G3); | |
104 Expect.isTrue(h3 is H3); | |
105 expectsF(h3); | |
106 expectsG(h3); | |
107 expectsH(h3); | |
108 } | |
OLD | NEW |