| // 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. | 
 |  | 
 | import 'package:expect/expect.dart'; | 
 | import 'package:expect/config.dart'; | 
 |  | 
 | main() { | 
 |   // Common libraries should appear on all backends. | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.async")); | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.collection")); | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.convert")); | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.core")); | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.typed_data")); | 
 |   Expect.isTrue(const bool.fromEnvironment("dart.library.developer")); | 
 |  | 
 |   // Internal libraries should not be exposed. | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library._internal")); | 
 |  | 
 |   // `dart:html` is only supported on Dart2js and DDC. | 
 |   bool hasHtmlSupport = isDart2jsConfiguration || isDdcConfiguration; | 
 |   Expect.equals( | 
 |     hasHtmlSupport, | 
 |     const bool.fromEnvironment("dart.library.html"), | 
 |   ); | 
 |   Expect.equals( | 
 |     hasHtmlSupport, | 
 |     const bool.fromEnvironment("dart.library.indexed_db"), | 
 |   ); | 
 |   Expect.equals(hasHtmlSupport, const bool.fromEnvironment("dart.library.svg")); | 
 |   Expect.equals( | 
 |     hasHtmlSupport, | 
 |     const bool.fromEnvironment("dart.library.web_audio"), | 
 |   ); | 
 |   Expect.equals( | 
 |     hasHtmlSupport, | 
 |     const bool.fromEnvironment("dart.library.web_gl"), | 
 |   ); | 
 |  | 
 |   // All web backends support `dart:js_util` | 
 |   Expect.equals( | 
 |     isWebConfiguration, | 
 |     const bool.fromEnvironment("dart.library.js_util"), | 
 |   ); | 
 |  | 
 |   // Web platforms override 'dart.library.io' to return "false". | 
 |   // We don't test for the non-existence, but just make sure that | 
 |   // dart.library.io is not set to true. | 
 |   Expect.equals( | 
 |     isVmConfiguration, | 
 |     const bool.fromEnvironment("dart.library.io"), | 
 |   ); | 
 |  | 
 |   // `dart:mirrors` is only supported in JIT mode. | 
 |   Expect.equals( | 
 |     isVmJitConfiguration, | 
 |     const bool.fromEnvironment("dart.library.mirrors"), | 
 |   ); | 
 |  | 
 |   // `fromEnvironment` should return false for non-existing dart libraries. | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library.XYZ")); | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library.Collection")); | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library.converT")); | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library.")); | 
 |   Expect.isFalse(const bool.fromEnvironment("dart.library.core ")); | 
 | } |