Index: tests/kernel/unsorted/block_scope_test.dart |
diff --git a/tests/kernel/unsorted/block_scope_test.dart b/tests/kernel/unsorted/block_scope_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae54352a81e984cd0fae908eddd1fd02602f7642 |
--- /dev/null |
+++ b/tests/kernel/unsorted/block_scope_test.dart |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2016, 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. |
+ |
+// Tests of block scoping. |
+ |
+import 'expect.dart'; |
+ |
+bool oracle() => true; |
+ |
+test0() { |
+ var x = 'outer', y = x; |
+ Expect.isTrue(x == 'outer'); |
+ Expect.isTrue(y == 'outer'); |
+ { var x = 'inner'; |
+ Expect.isTrue(x == 'inner'); |
+ Expect.isTrue(y == 'outer'); |
+ } |
+ Expect.isTrue(x == 'outer'); |
+ Expect.isTrue(y == 'outer'); |
+ |
+ if (oracle()) { |
+ var y = 'inner'; |
+ Expect.isTrue(x == 'outer'); |
+ Expect.isTrue(y == 'inner'); |
+ } else { |
+ Expect.isTrue(false); |
+ } |
+ Expect.isTrue(x == 'outer'); |
+ Expect.isTrue(y == 'outer'); |
+} |
+ |
+var x = 'toplevel'; |
+ |
+test1() { |
+ var y = 'outer'; |
+ Expect.isTrue(x == 'toplevel'); |
+ Expect.isTrue(y == 'outer'); |
+ { var x = 'inner'; |
+ Expect.isTrue(x == 'inner'); |
+ Expect.isTrue(y == 'outer'); |
+ } |
+ Expect.isTrue(x == 'toplevel'); |
+ Expect.isTrue(y == 'outer'); |
+ |
+ if (oracle()) { |
+ var y = 'inner'; |
+ Expect.isTrue(x == 'toplevel'); |
+ Expect.isTrue(y == 'inner'); |
+ } else { |
+ Expect.isTrue(false); |
+ } |
+ Expect.isTrue(x == 'toplevel'); |
+ Expect.isTrue(y == 'outer'); |
+} |
+ |
+main() { |
+ test0(); |
+ test1(); |
+} |