| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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 pub_tests; | 5 library pub_tests; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:http/http.dart' as http; | 9 import 'package:http/http.dart' as http; |
| 10 import 'package:scheduled_test/scheduled_process.dart'; | 10 import 'package:scheduled_test/scheduled_process.dart'; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 return 'const TOKEN = "(\${match[1]}, \$TOKEN)";'; | 80 return 'const TOKEN = "(\${match[1]}, \$TOKEN)";'; |
| 81 }))); | 81 }))); |
| 82 }); | 82 }); |
| 83 } | 83 } |
| 84 } | 84 } |
| 85 """; | 85 """; |
| 86 } | 86 } |
| 87 | 87 |
| 88 /// Schedules starting the "pub serve" process. | 88 /// Schedules starting the "pub serve" process. |
| 89 /// | 89 /// |
| 90 /// If [shouldInstallFirst] is `true`, validates that pub install is run first. | 90 /// If [shouldGetFirst] is `true`, validates that pub get is run first. If |
| 91 /// If [dart2js] is `false`, does not compile Dart entrypoints in "web" to | 91 /// [dart2js] is `false`, does not compile Dart entrypoints in "web" to |
| 92 /// JavaScript. | 92 /// JavaScript. |
| 93 /// | 93 /// |
| 94 /// Returns the `pub serve` process. | 94 /// Returns the `pub serve` process. |
| 95 ScheduledProcess startPubServe({bool shouldInstallFirst: false, | 95 ScheduledProcess startPubServe({bool shouldGetFirst: false, |
| 96 bool dart2js: true}) { | 96 bool dart2js: true}) { |
| 97 | 97 |
| 98 // Use port 0 to get an ephemeral port. | 98 // Use port 0 to get an ephemeral port. |
| 99 var args = ["serve", "--port=0", "--hostname=127.0.0.1"]; | 99 var args = ["serve", "--port=0", "--hostname=127.0.0.1"]; |
| 100 | 100 |
| 101 if (!dart2js) args.add("--no-dart2js"); | 101 if (!dart2js) args.add("--no-dart2js"); |
| 102 | 102 |
| 103 _pubServer = startPub(args: args); | 103 _pubServer = startPub(args: args); |
| 104 | 104 |
| 105 if (shouldInstallFirst) { | 105 if (shouldGetFirst) { |
| 106 expect(_pubServer.nextLine(), | 106 expect(_pubServer.nextLine(), |
| 107 completion(startsWith("Dependencies have changed"))); | 107 completion(startsWith("Dependencies have changed"))); |
| 108 expect(_pubServer.nextLine(), | 108 expect(_pubServer.nextLine(), |
| 109 completion(startsWith("Resolving dependencies..."))); | 109 completion(startsWith("Resolving dependencies..."))); |
| 110 expect(_pubServer.nextLine(), | 110 expect(_pubServer.nextLine(), |
| 111 completion(equals("Dependencies installed!"))); | 111 completion(equals("Got dependencies!"))); |
| 112 } | 112 } |
| 113 | 113 |
| 114 expect(_pubServer.nextLine().then(_parsePort), completes); | 114 expect(_pubServer.nextLine().then(_parsePort), completes); |
| 115 return _pubServer; | 115 return _pubServer; |
| 116 } | 116 } |
| 117 | 117 |
| 118 /// Parses the port number from the "Serving blah on 127.0.0.1:1234" line | 118 /// Parses the port number from the "Serving blah on 127.0.0.1:1234" line |
| 119 /// printed by pub serve. | 119 /// printed by pub serve. |
| 120 void _parsePort(String line) { | 120 void _parsePort(String line) { |
| 121 var match = new RegExp(r"127\.0\.0\.1:(\d+)").firstMatch(line); | 121 var match = new RegExp(r"127\.0\.0\.1:(\d+)").firstMatch(line); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 return _pubServer.nextLine().then((line) { | 169 return _pubServer.nextLine().then((line) { |
| 170 if (line.contains("successfully")) return; | 170 if (line.contains("successfully")) return; |
| 171 | 171 |
| 172 // This line wasn't it, so ignore it and keep trying. | 172 // This line wasn't it, so ignore it and keep trying. |
| 173 return nextLine(); | 173 return nextLine(); |
| 174 }); | 174 }); |
| 175 } | 175 } |
| 176 | 176 |
| 177 schedule(nextLine); | 177 schedule(nextLine); |
| 178 } | 178 } |
| OLD | NEW |