Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: tools/testing/dart/browser_test.dart

Issue 11810004: Make browser tests all run from a server instead of the local filesystem. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of test_suite; 5 part of test_suite;
6 6
7 String getHtmlContents(String title, 7 String getHtmlContents(String title,
8 Path controllerScript, 8 Path controllerScript,
9 Path dartJsScript, 9 Path dartJsScript,
10 String scriptType, 10 String scriptType,
(...skipping 30 matching lines...) Expand all
41 </head> 41 </head>
42 <body> 42 <body>
43 <script type="text/javascript"> 43 <script type="text/javascript">
44 if (navigator.webkitStartDart) navigator.webkitStartDart(); 44 if (navigator.webkitStartDart) navigator.webkitStartDart();
45 </script> 45 </script>
46 <script type="$scriptType" src="$sourceScript"></script> 46 <script type="$scriptType" src="$sourceScript"></script>
47 </body> 47 </body>
48 </html> 48 </html>
49 """; 49 """;
50 50
51 String wrapDartTestInLibrary(Path test) => 51 String wrapDartTestInLibrary(Path test, String testPath) =>
52 """ 52 """
53 library libraryWrapper; 53 library libraryWrapper;
54 part '$test'; 54 part '${pathLib.relative(test.toNativePath(),
55 from: pathLib.dirname(testPath)).replaceAll('\\', '\\\\')}';
55 """; 56 """;
56 57
57 String dartTestWrapper(Path dartHome, Path library) { 58 String dartTestWrapper(Path dartHome, String testPath, Path library) {
59 var testPathDir = pathLib.dirname(testPath);
60 var dartHomePath = dartHome.toNativePath();
61 // TODO(efortuna): Unify path libraries used in test.dart.
62 var unitTest = pathLib.relative(pathLib.join(dartHomePath,
63 'pkg/unittest/lib'), from: testPathDir).replaceAll('\\', '\\\\');
64
65 var libString = library.toNativePath();
66 if (!pathLib.isAbsolute(libString)) {
67 libString = pathLib.join(dartHome.toNativePath(), libString);
68 }
58 // Tests inside "pkg" import unittest using "package:". All others use a 69 // Tests inside "pkg" import unittest using "package:". All others use a
59 // relative path. The imports need to agree, so use a matching form here. 70 // relative path. The imports need to agree, so use a matching form here.
60 var unitTest = dartHome.append("pkg/unittest/lib").toString(); 71 if (pathLib.split(pathLib.relative(libString,
61 72 from: dartHome.toNativePath())).contains("pkg")) {
62 // TODO(rnystrom): Looking in the entire path here is wrong. It should only
63 // consider the relative path within dartHome. Unfortunately,
64 // Path.relativeTo() does not handle cases where library is already a relative
65 // path, and Path.isAbsolute does not work on Windows.
66 if (library.segments().contains("pkg")) {
67 unitTest = 'package:unittest'; 73 unitTest = 'package:unittest';
68 } 74 }
69
70 return """ 75 return """
71 library test; 76 library test;
72 77
73 import '$unitTest/unittest.dart' as unittest; 78 import '$unitTest/unittest.dart' as unittest;
74 import '$unitTest/html_config.dart' as config; 79 import '$unitTest/html_config.dart' as config;
75 import '${library}' as Test; 80 import '${pathLib.relative(libString, from: testPathDir).replaceAll(
81 '\\', '\\\\')}' as Test;
76 82
77 main() { 83 main() {
78 config.useHtmlConfiguration(); 84 config.useHtmlConfiguration();
79 unittest.group('', Test.main); 85 unittest.group('', Test.main);
80 } 86 }
81 """; 87 """;
82 } 88 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698