Index: tests/language/deferred_static_seperate_test.dart |
diff --git a/tests/language/deferred_static_seperate_test.dart b/tests/language/deferred_static_seperate_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f1b4986f7edcf71f0ba86a9ed8bdf018550f9ba5 |
--- /dev/null |
+++ b/tests/language/deferred_static_seperate_test.dart |
@@ -0,0 +1,30 @@ |
+// 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. |
+ |
+// The class lib1.C is referenced via lib1 |
+// The static function lib1.C.foo is referenced via lib2 |
+// Dart2js will put them in seperate hunks. |
+// Similarly for C2, ..., C5. |
+ |
+import "package:expect/expect.dart"; |
+import "deferred_static_seperate_lib1.dart" deferred as lib1; |
+import "deferred_static_seperate_lib2.dart" deferred as lib2; |
+ |
+void main() { |
+ lib1.loadLibrary().then((_) { |
+ lib2.loadLibrary().then((_) { |
+ Expect.equals(1, new lib1.C().bar()); |
+ var x = new lib1.C2(); |
+ Expect.mapEquals({1: 2}, x.bar); |
+ x.bar = {2: 3}; |
+ Expect.mapEquals({2: 3}, x.bar); |
+ |
+ Expect.equals(lib1.x, new lib1.C3().bar); |
+ Expect.mapEquals({lib1.x: lib1.x}, new lib1.C4().bar); |
+ Expect.equals(1, new lib1.C5().bar()); |
+ |
+ lib2.foo(); |
+ }); |
+ }); |
+} |