// 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_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(); }(); }