| Index: tools/testing/dart/browser_test.dart
|
| diff --git a/tools/testing/dart/browser_test.dart b/tools/testing/dart/browser_test.dart
|
| index 1236b55dac062ec6cb3e1b921a3664657f003835..862375d87227a878bfbe1774b83823cd1a9b6ab5 100644
|
| --- a/tools/testing/dart/browser_test.dart
|
| +++ b/tools/testing/dart/browser_test.dart
|
| @@ -2,11 +2,7 @@
|
| // 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.
|
|
|
| -library browser_test;
|
| -
|
| -import 'path.dart';
|
| -
|
| -String getHtmlContents(String title, String scriptType, Path sourceScript) {
|
| +String getHtmlContents(String title, String scriptType, String scriptPath) {
|
| return """
|
| <!DOCTYPE html>
|
| <html>
|
| @@ -26,7 +22,7 @@ String getHtmlContents(String title, String scriptType, Path sourceScript) {
|
| <script type="text/javascript"
|
| src="/root_dart/tools/testing/dart/test_controller.js">
|
| </script>
|
| - <script type="$scriptType" src="$sourceScript"
|
| + <script type="$scriptType" src="$scriptPath"
|
| onerror="scriptTagOnErrorCallback(null)"
|
| defer>
|
| </script>
|
| @@ -36,6 +32,59 @@ String getHtmlContents(String title, String scriptType, Path sourceScript) {
|
| </html>""";
|
| }
|
|
|
| +/// Generates the HTML template file needed to load and run a dartdevc test in
|
| +/// the browser.
|
| +///
|
| +/// The [testName] is the short name of the test without any subdirectory path
|
| +/// or extension, like "math_test". The [testJSDir] is the relative path to the
|
| +/// build directory where the dartdevc-generated JS file is stored.
|
| +String dartdevcHtml(String testName, String testJSDir) => """
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| + <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
| + <meta name="dart.unittest" content="full-stack-traces">
|
| + <title>Test $testName</title>
|
| + <style>
|
| + .unittest-table { font-family:monospace; border:1px; }
|
| + .unittest-pass { background: #6b3;}
|
| + .unittest-fail { background: #d55;}
|
| + .unittest-error { background: #a11;}
|
| + </style>
|
| +</head>
|
| +<body>
|
| +<h1>Running $testName</h1>
|
| +<script type="text/javascript"
|
| + src="/root_dart/tools/testing/dart/test_controller.js">
|
| +</script>
|
| +<script>
|
| +var require = {
|
| + baseUrl: "/root_dart/$testJSDir",
|
| + // TODO(29923): Add paths to the packages that are used in tests once they
|
| + // are being built. Right now, they are compiled into the test module itself.
|
| + paths: {
|
| + "dart_sdk": "/root_dart/pkg/dev_compiler/lib/js/amd/dart_sdk",
|
| + }
|
| +};
|
| +
|
| +// Don't try to bring up the debugger on a runtime error.
|
| +window.ddcSettings = {
|
| + trapRuntimeErrors: false
|
| +};
|
| +</script>
|
| +<script type="text/javascript"
|
| + src="/root_dart/third_party/requirejs/require.js"></script>
|
| +<script type="text/javascript">
|
| +requirejs(["$testName", "dart_sdk"],
|
| + function($testName, dart_sdk) {
|
| + dart_sdk._isolate_helper.startRootIsolate(function() {}, []);
|
| + dartMainRunner($testName.$testName.main);
|
| +});
|
| +</script>
|
| +</body>
|
| +</html>
|
| +""";
|
| +
|
| String dartTestWrapper(String libraryPathComponent) {
|
| return """
|
| import '$libraryPathComponent' as test;
|
|
|