blob: 755d3b9e91970670aa1f838d8c9fa24d0d1784cd [file] [log] [blame]
// 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 "));
}