add deferred_library_test but mark as failing
R=sigmund@google.com
Review URL: https://codereview.chromium.org//961843003
diff --git a/.status b/.status
index 3197870..3cc56c9 100644
--- a/.status
+++ b/.status
@@ -11,6 +11,9 @@
*/*/*/*/packages/*/*: Skip
*/*/*/*/*/packages/*/*: Skip
+# failing tests
+test/deferred_library_test.dart: RuntimeError # Issue 22592
+
# tests that don't need to be ran after pub-build
build/test/transformer_test.dart: Skip
build/test/static_init_cycle_error_test.dart: Skip # Build time warning
diff --git a/test/deferred_library_test.dart b/test/deferred_library_test.dart
new file mode 100644
index 0000000..80b7d02
--- /dev/null
+++ b/test/deferred_library_test.dart
@@ -0,0 +1,39 @@
+// 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.
+@initializeTracker
+library initialize.deferred_library_test;
+
+import 'foo.dart' deferred as foo;
+import 'package:initialize/src/initialize_tracker.dart';
+import 'package:initialize/initialize.dart';
+import 'package:unittest/unittest.dart';
+import 'package:unittest/compact_vm_config.dart';
+
+main() {
+ useCompactVMConfiguration();
+
+ test('annotations can be loaded lazily', () {
+ // Initialize everything not in deferred imports.
+ return run().then((_) {
+ var expectedNames = [
+ const LibraryIdentifier(
+ #initialize.deferred_library_test, null,
+ 'deferred_library_test.dart'),
+ ];
+ expect(InitializeTracker.seen, expectedNames);
+
+ // Now load the foo library and re-run initializers.
+ return foo.loadLibrary().then((_) => run()).then((_) {
+ expectedNames.addAll([
+ const LibraryIdentifier(
+ #initialize.test.foo, null, 'foo.dart'),
+ foo.foo,
+ foo.fooBar,
+ foo.Foo,
+ ]);
+ expect(InitializeTracker.seen, expectedNames);
+ });
+ });
+ });
+}