| Index: tests/language_strong/conditional_import_string_test.dart
|
| diff --git a/tests/language_strong/conditional_import_string_test.dart b/tests/language_strong/conditional_import_string_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d7506bdb66ebc211d404407867bbb853eee272f2
|
| --- /dev/null
|
| +++ b/tests/language_strong/conditional_import_string_test.dart
|
| @@ -0,0 +1,38 @@
|
| +// 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.
|
| +
|
| +import "package:expect/expect.dart";
|
| +import "package:async_helper/async_helper.dart";
|
| +
|
| +// All three libraries have an HttpRequest class.
|
| +import "conditional_import_string_test.dart"
|
| + if (dart.library.io == "true") "dart:io"
|
| + if (dart.library.html == "true") "dart:html"
|
| + deferred as d show HttpRequest;
|
| +
|
| +class HttpRequest {}
|
| +
|
| +void main() {
|
| + asyncStart();
|
| + var io = const String.fromEnvironment("dart.library.io");
|
| + var html = const String.fromEnvironment("dart.library.html");
|
| + () async {
|
| + // Shouldn't fail. Shouldn't time out.
|
| + await d.loadLibrary().timeout(const Duration(seconds: 5));
|
| + if (io == "true") {
|
| + print("io");
|
| + Expect.throws(() => new d.HttpRequest()); // Class is abstract in dart:io
|
| + } else if (html == "true") {
|
| + print("html");
|
| + dynamic r = new d.HttpRequest(); // Shouldn't throw
|
| + var o = r.open; // Shouldn't fail, the open method is there.
|
| + } else {
|
| + print("none");
|
| + dynamic r = new d.HttpRequest();
|
| + Expect.isTrue(r is HttpRequest);
|
| + }
|
| + asyncEnd();
|
| + }();
|
| +}
|
| +
|
|
|