| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library test.runner.browser.server; | 5 library test.runner.browser.server; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:convert'; | 8 import 'dart:convert'; |
| 9 import 'dart:io'; | 9 import 'dart:io'; |
| 10 | 10 |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 IframeListener.start(() => test.main); | 199 IframeListener.start(() => test.main); |
| 200 } | 200 } |
| 201 ''', headers: {'Content-Type': 'application/dart'}); | 201 ''', headers: {'Content-Type': 'application/dart'}); |
| 202 } | 202 } |
| 203 | 203 |
| 204 if (path.endsWith(".html")) { | 204 if (path.endsWith(".html")) { |
| 205 var test = p.withoutExtension(path) + ".dart"; | 205 var test = p.withoutExtension(path) + ".dart"; |
| 206 | 206 |
| 207 // Link to the Dart wrapper on Dartium and the compiled JS version | 207 // Link to the Dart wrapper on Dartium and the compiled JS version |
| 208 // elsewhere. | 208 // elsewhere. |
| 209 var scriptBase = |
| 210 "${HTML_ESCAPE.convert(p.basename(test))}.browser_test.dart"; |
| 209 var script = request.headers['user-agent'].contains('(Dart)') | 211 var script = request.headers['user-agent'].contains('(Dart)') |
| 210 ? 'type="application/dart" ' | 212 ? 'type="application/dart" src="$scriptBase"' |
| 211 'src="${HTML_ESCAPE.convert(test)}.browser_test.dart"' | 213 : 'src="$scriptBase.js"'; |
| 212 : 'src="${HTML_ESCAPE.convert(test)}.browser_test.dart.js"'; | |
| 213 | 214 |
| 214 return new shelf.Response.ok(''' | 215 return new shelf.Response.ok(''' |
| 215 <!DOCTYPE html> | 216 <!DOCTYPE html> |
| 216 <html> | 217 <html> |
| 217 <head> | 218 <head> |
| 218 <title>${HTML_ESCAPE.convert(test)} Test</title> | 219 <title>${HTML_ESCAPE.convert(test)} Test</title> |
| 219 <script $script></script> | 220 <script $script></script> |
| 220 </head> | 221 </head> |
| 221 </html> | 222 </html> |
| 222 ''', headers: {'Content-Type': 'text/html'}); | 223 ''', headers: {'Content-Type': 'text/html'}); |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 if (_pubServeUrl == null) { | 414 if (_pubServeUrl == null) { |
| 414 new Directory(_compiledDir).deleteSync(recursive: true); | 415 new Directory(_compiledDir).deleteSync(recursive: true); |
| 415 } else { | 416 } else { |
| 416 _http.close(); | 417 _http.close(); |
| 417 } | 418 } |
| 418 | 419 |
| 419 _closeCompleter.complete(); | 420 _closeCompleter.complete(); |
| 420 }).catchError(_closeCompleter.completeError); | 421 }).catchError(_closeCompleter.completeError); |
| 421 } | 422 } |
| 422 } | 423 } |
| OLD | NEW |