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