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 |
| 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 |
| 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 |
| 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 |