Index: sdk/lib/_internal/pub_generated/test/dart2js/outputs_deferred_libraries_test.dart |
diff --git a/sdk/lib/_internal/pub_generated/test/dart2js/outputs_deferred_libraries_test.dart b/sdk/lib/_internal/pub_generated/test/dart2js/outputs_deferred_libraries_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..13a050bc3392df1e58e62001c13b2869b8f6ca5c |
--- /dev/null |
+++ b/sdk/lib/_internal/pub_generated/test/dart2js/outputs_deferred_libraries_test.dart |
@@ -0,0 +1,58 @@ |
+import 'package:scheduled_test/scheduled_test.dart'; |
+import '../descriptor.dart' as d; |
+import '../test_pub.dart'; |
+const MAIN = """ |
+import 'dart:async'; |
+ |
+import 'a.dart' deferred as a; |
+import 'b.dart' deferred as b; |
+ |
+void main() { |
+ Future.wait([lazyA.loadLibrary(), lazyB.loadLibrary()]).then((_) { |
+ a.fn(); |
+ b.fn(); |
+ }); |
+} |
+"""; |
+const A = """ |
+library a; |
+ |
+fn() => print("a"); |
+"""; |
+const B = """ |
+library b; |
+ |
+fn() => print("b"); |
+"""; |
+main() { |
+ initConfig(); |
+ integration("compiles deferred libraries to separate outputs", () { |
+ currentSchedule.timeout *= 3; |
+ d.dir( |
+ appPath, |
+ [ |
+ d.appPubspec(), |
+ d.dir( |
+ 'web', |
+ [ |
+ d.file('main.dart', MAIN), |
+ d.file('a.dart', A), |
+ d.file('b.dart', B)])]).create(); |
+ schedulePub( |
+ args: ["build"], |
+ output: new RegExp(r'Built 4 files to "build".')); |
+ d.dir( |
+ appPath, |
+ [ |
+ d.dir( |
+ 'build', |
+ [ |
+ d.dir( |
+ 'web', |
+ [ |
+ d.matcherFile('main.dart.js', isNot(isEmpty)), |
+ d.matcherFile('main.dart.precompiled.js', isNot(isEmpty)), |
+ d.matcherFile('main.dart.js_1.part.js', isNot(isEmpty)), |
+ d.matcherFile('main.dart.js_2.part.js', isNot(isEmpty))])])]).validate(); |
+ }); |
+} |