Index: tests/standalone/javascript_compatibility_errors_test.dart |
diff --git a/tests/standalone/javascript_compatibility_errors_test.dart b/tests/standalone/javascript_compatibility_errors_test.dart |
deleted file mode 100644 |
index 6404a2ef4b6f13766522665aa20195df16c44722..0000000000000000000000000000000000000000 |
--- a/tests/standalone/javascript_compatibility_errors_test.dart |
+++ /dev/null |
@@ -1,183 +0,0 @@ |
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-// VMOptions=--warn_on_javascript_compatibility --warning_as_error --optimization_counter_threshold=5 |
- |
-import "package:expect/expect.dart"; |
- |
-f(x, y) { |
- // Unoptimized and optimized code. |
- 1 is double; /// 00: ok |
- if (1 is double) { x++; } /// 01: ok |
- try { 1 as double; } on CastError catch (e) { } /// 02: ok |
- try { var y = 1 as double; } on CastError catch (e) { } /// 03: ok |
- 1.0 is int; /// 04: ok |
- if (1.0 is int) { x++; } /// 05: ok |
- try { 1.0 as int; } on CastError catch (e) { } /// 06: ok |
- try { var z = 1.0 as int; } on CastError catch (e) { } /// 07: ok |
- |
- x is double; /// 10: ok |
- if (x is double) { } /// 11: ok |
- try { x as double; } on CastError catch (e) { } /// 12: ok |
- try { var z = x as double; } on CastError catch (e) { } /// 13: ok |
- y is int; /// 14: ok |
- if (y is int) { } /// 15: ok |
- try { y as int; } on CastError catch (e) { } /// 16: ok |
- try { var z = y as int; } on CastError catch (e) { } /// 17: ok |
- |
- // It is a compile-time error if evaluation of a constant object results in |
- // an uncaught exception being thrown, a JavascriptCompatibilityError here. |
- "${1.0}"; /// 20: compile-time error |
- var z = "${1.0}"; /// 21: compile-time error |
- |
- (1.0).toString(); /// 22: ok |
- var z = (1.0).toString(); /// 23: ok |
- "$y"; /// 24: ok |
- var z = "$y"; /// 25: ok |
- y.toString(); /// 26: ok |
- var z = y.toString(); /// 27: ok |
- |
- var a = "yz"; |
- var b = "xyz"; |
- b = b.substring(1); |
- if (identical(a, b)) { } /// 28: ok |
- |
- if (identical(x, y)) { } /// 29: ok |
- if (identical(y, x)) { } /// 30: ok |
- |
- if (x > 10) { |
- // Optimized code. |
- x is double; /// 40: ok |
- if (x is double) { } /// 41: ok |
- try { x as double; } on CastError catch (e) { } /// 42: ok |
- try { var z = x as double; } on CastError catch (e) { } /// 43: ok |
- y is int; /// 44: ok |
- if (y is int) { } /// 45: ok |
- try { y as int; } on CastError catch (e) { } /// 46: ok |
- try { var z = y as int; } on CastError catch (e) { } /// 47: ok |
- |
- "${1.0}"; /// 50: compile-time error |
- var z = "${1.0}"; /// 51: compile-time error |
- |
- (1.0).toString(); /// 52: ok |
- var z = (1.0).toString(); /// 53: ok |
- "$y"; /// 54: ok |
- var z = "$y"; /// 55: ok |
- y.toString(); /// 56: ok |
- var z = y.toString(); /// 57: ok |
- |
- var a = "yz"; |
- var b = "xyz"; |
- b = b.substring(1); |
- if (identical(a, b)) { } /// 58: ok |
- |
- if (identical(x, y)) { } /// 59: ok |
- if (identical(y, x)) { } /// 60: ok |
- } |
-} |
- |
-k(x, y) { |
- // Unoptimized and optimized code. |
- 1.5 is double; |
- if (1.5 is double) { x++; } |
- try { 1.5 as double; } on CastError catch (e) { } |
- try { var y = 1.5 as double; } on CastError catch (e) { } |
- 1.5 is int; |
- if (1.5 is int) { x++; } |
- try { 1.5 as int; } on CastError catch (e) { } |
- try { var z = 1.5 as int; } on CastError catch (e) { } |
- |
- 1.5 is double; |
- if (1.5 is double) { x++; } |
- try { 1.5 as double; } on CastError catch (e) { } |
- try { var y = 1.5 as double; } on CastError catch (e) { } |
- 1.5 is int; |
- if (1.5 is int) { x++; } |
- try { 1.5 as int; } on CastError catch (e) { } |
- try { var z = 1.5 as int; } on CastError catch (e) { } |
- |
- x is double; |
- if (x is double) { } |
- try { x as double; } on CastError catch (e) { } |
- try { var z = x as double; } on CastError catch (e) { } |
- y is int; |
- if (y is int) { } |
- try { y as int; } on CastError catch (e) { } |
- try { var z = y as int; } on CastError catch (e) { } |
- |
- "${1.5}"; |
- var z = "${1.5}"; |
- (1.5).toString(); |
- z = (1.5).toString(); |
- "$y"; |
- z = "$y"; |
- y.toString(); |
- z = y.toString(); |
- |
- var a = "xyz"; |
- var b = "xyz"; |
- b = b.substring(1); |
- if (identical(a, b)) { } |
- |
- if (identical(x, y)) { } |
- if (identical(y, x)) { } |
- |
- if (x > 10) { |
- // Optimized code. |
- x is double; |
- if (x is double) { } |
- try { x as double; } on CastError catch (e) { } |
- try { var z = x as double; } on CastError catch (e) { } |
- y is int; |
- if (y is int) { } |
- try { y as int; } on CastError catch (e) { } |
- try { var z = y as int; } on CastError catch (e) { } |
- |
- "${1.5}"; |
- var z = "${1.5}"; |
- (1.5).toString(); |
- z = (1.5).toString(); |
- "$y"; |
- z = "$y"; |
- y.toString(); |
- z = y.toString(); |
- |
- var a = "xyz"; |
- var b = "xyz"; |
- b = b.substring(1); |
- if (identical(a, b)) { } |
- |
- if (identical(x, y)) { } |
- if (identical(y, x)) { } |
- } |
-} |
- |
-g(x, y) => f(x, y); // Test inlining calls. |
-h(x, y) => g(x, y); |
- |
-// We don't test for _JavascriptCompatibilityError since it's not visible. |
-// It should not be visible since it doesn't exist on dart2js. |
-bool isJavascriptCompatibilityError(e) => |
- e is Error && "$e".contains("Javascript Compatibility Error"); |
- |
-main() { |
- // The warning (or error in case of --warning_as_error) is issued at |
- // most once per location. |
- var numWarnings = 0; |
- for (var i = 0; i < 20; i++) { |
- try { |
- h(i, i * 1.0); |
- } catch(e) { |
- Expect.isTrue(isJavascriptCompatibilityError(e)); |
- numWarnings++; |
- } |
- } |
- Expect.equals(1, numWarnings); |
- // No warnings (errors) should be issued after this point. |
- for (var i = 0; i < 20; i++) { |
- k(i * 1.0, i); |
- k(i * 1.0, i + 0.5); |
- } |
-} |
- |