Index: tests/compiler/dart2js_extra/23404_test.dart |
diff --git a/tests/compiler/dart2js_extra/23404_test.dart b/tests/compiler/dart2js_extra/23404_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..113d78a700890dad4a434ee1e996f9076bf28eda |
--- /dev/null |
+++ b/tests/compiler/dart2js_extra/23404_test.dart |
@@ -0,0 +1,21 @@ |
+// Copyright (c) 2015, 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. |
+ |
+// Regression test for http://dartbug.com/23404/ |
+import 'package:expect/expect.dart'; |
+ |
+// Dart2js crashed when the global metadata had escaped characters. That |
+// happens, for example, when tearing off a function that uses a default |
+// argument containing escape characters. |
+foo([a='\u00a0']) => a; |
+bar() => ''; |
+ |
+@NoInline |
+@AssumeDynamic |
+confuse(x) => x; |
+ |
+main() { |
+ Expect.equals('\u00a0', confuse(foo)()); |
+ Expect.equals('', confuse(bar)()); |
+} |