OLD | NEW |
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 // VMOptions=--enable_type_checks --no_show_internal_names | 4 // VMOptions=--enable_type_checks --no_show_internal_names |
5 // | 5 // |
6 // Dart test program testing type checks. | 6 // Dart test program testing type checks. |
7 | 7 |
8 class TypeTest { | 8 class TypeTest { |
9 static test() { | 9 static test() { |
10 int result = 0; | 10 int result = 0; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 static testAnyFunction() { | 117 static testAnyFunction() { |
118 int result = 0; | 118 int result = 0; |
119 Function anyFunction; | 119 Function anyFunction; |
120 f() { }; | 120 f() { }; |
121 anyFunction = f; // No error. | 121 anyFunction = f; // No error. |
122 try { | 122 try { |
123 int i = f; // Throws a TypeError if type checks are enabled. | 123 int i = f; // Throws a TypeError if type checks are enabled. |
124 } on TypeError catch (error) { | 124 } on TypeError catch (error) { |
125 result = 1; | 125 result = 1; |
126 Expect.equals("int", error.dstType); | 126 Expect.equals("int", error.dstType); |
127 Expect.equals("() => Dynamic", error.srcType); | 127 Expect.equals("() => dynamic", error.srcType); |
128 Expect.equals("i", error.dstName); | 128 Expect.equals("i", error.dstName); |
129 int pos = error.url.lastIndexOf("/", error.url.length); | 129 int pos = error.url.lastIndexOf("/", error.url.length); |
130 if (pos == -1) { | 130 if (pos == -1) { |
131 pos = error.url.lastIndexOf("\\", error.url.length); | 131 pos = error.url.lastIndexOf("\\", error.url.length); |
132 } | 132 } |
133 String subs = error.url.substring(pos + 1, error.url.length); | 133 String subs = error.url.substring(pos + 1, error.url.length); |
134 Expect.equals("type_vm_test.dart", subs); | 134 Expect.equals("type_vm_test.dart", subs); |
135 Expect.equals(123, error.line); | 135 Expect.equals(123, error.line); |
136 Expect.equals(15, error.column); | 136 Expect.equals(15, error.column); |
137 } | 137 } |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 class C { | 558 class C { |
559 factory C() { | 559 factory C() { |
560 return 1; // Implicit result type is 'C', not int. | 560 return 1; // Implicit result type is 'C', not int. |
561 } | 561 } |
562 } | 562 } |
563 | 563 |
564 | 564 |
565 main() { | 565 main() { |
566 TypeTest.testMain(); | 566 TypeTest.testMain(); |
567 } | 567 } |
OLD | NEW |