OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'dart:async'; | 5 import 'dart:async'; |
6 import 'dart:convert'; | 6 import 'dart:convert'; |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 | 8 |
9 import 'package:bazel_worker/bazel_worker.dart'; | 9 import 'package:bazel_worker/bazel_worker.dart'; |
10 // TODO(jakemac): Remove once this is a part of the testing library. | 10 // TODO(jakemac): Remove once this is a part of the testing library. |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 helloJS.path, | 146 helloJS.path, |
147 helloDart.path, | 147 helloDart.path, |
148 ]); | 148 ]); |
149 expect(result.exitCode, EXIT_CODE_OK); | 149 expect(result.exitCode, EXIT_CODE_OK); |
150 expect(result.stdout, isEmpty); | 150 expect(result.stdout, isEmpty); |
151 expect(result.stderr, isEmpty); | 151 expect(result.stderr, isEmpty); |
152 expect(helloJS.existsSync(), isTrue); | 152 expect(helloJS.existsSync(), isTrue); |
153 }); | 153 }); |
154 }); | 154 }); |
155 | 155 |
| 156 group('package config', () { |
| 157 final greetingDart = new File('test/worker/greeting.dart').absolute; |
| 158 final helloDart = new File('test/worker/hello.dart').absolute; |
| 159 final packageConfig = new File('test/worker/package_config').absolute; |
| 160 |
| 161 final greetingJS = new File('test/worker/greeting.js').absolute; |
| 162 final greetingSummary = new File('test/worker/greeting.sum').absolute; |
| 163 final helloJS = new File('test/worker/hello_world.js').absolute; |
| 164 |
| 165 setUp(() { |
| 166 greetingDart.writeAsStringSync('String greeting = "hello";'); |
| 167 helloDart.writeAsStringSync('import "package:greet/greeting.dart";' |
| 168 'main() => print(greeting);'); |
| 169 packageConfig.writeAsStringSync( |
| 170 'greet:${new Directory('test/worker').absolute.uri}'); |
| 171 }); |
| 172 |
| 173 tearDown(() { |
| 174 if (greetingDart.existsSync()) greetingDart.deleteSync(); |
| 175 if (helloDart.existsSync()) helloDart.deleteSync(); |
| 176 if (packageConfig.existsSync()) packageConfig.deleteSync(); |
| 177 if (greetingJS.existsSync()) greetingJS.deleteSync(); |
| 178 if (greetingSummary.existsSync()) greetingSummary.deleteSync(); |
| 179 if (helloJS.existsSync()) helloJS.deleteSync(); |
| 180 }); |
| 181 |
| 182 test('can resolve package imports', () { |
| 183 var result = Process.runSync('dart', [ |
| 184 'bin/dartdevc.dart', |
| 185 '--no-source-map', |
| 186 '-o', |
| 187 greetingJS.path, |
| 188 '--packages', |
| 189 packageConfig.path, |
| 190 'package:greet/greeting.dart', |
| 191 ]); |
| 192 expect(result.stdout, isEmpty); |
| 193 expect(result.stderr, isEmpty); |
| 194 expect(result.exitCode, EXIT_CODE_OK); |
| 195 expect(greetingJS.existsSync(), isTrue); |
| 196 expect(greetingSummary.existsSync(), isTrue); |
| 197 |
| 198 result = Process.runSync('dart', [ |
| 199 'bin/dartdevc.dart', |
| 200 '--no-source-map', |
| 201 '--no-summarize', |
| 202 '-s', |
| 203 greetingSummary.path, |
| 204 '-o', |
| 205 helloJS.path, |
| 206 helloDart.path, |
| 207 ]); |
| 208 expect(result.stdout, isEmpty); |
| 209 expect(result.stderr, isEmpty); |
| 210 expect(result.exitCode, EXIT_CODE_OK); |
| 211 expect(helloJS.existsSync(), isTrue); |
| 212 }); |
| 213 }); |
| 214 |
156 group('Error handling', () { | 215 group('Error handling', () { |
157 final badFileDart = new File('test/worker/bad.dart').absolute; | 216 final badFileDart = new File('test/worker/bad.dart').absolute; |
158 final badFileJs = new File('test/worker/bad.js').absolute; | 217 final badFileJs = new File('test/worker/bad.js').absolute; |
159 | 218 |
160 tearDown(() { | 219 tearDown(() { |
161 if (badFileDart.existsSync()) badFileDart.deleteSync(); | 220 if (badFileDart.existsSync()) badFileDart.deleteSync(); |
162 if (badFileJs.existsSync()) badFileJs.deleteSync(); | 221 if (badFileJs.existsSync()) badFileJs.deleteSync(); |
163 }); | 222 }); |
164 | 223 |
165 test('incorrect usage', () { | 224 test('incorrect usage', () { |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 Future<WorkResponse> _readResponse(MessageGrouper messageGrouper) async { | 324 Future<WorkResponse> _readResponse(MessageGrouper messageGrouper) async { |
266 var buffer = (await messageGrouper.next) as List<int>; | 325 var buffer = (await messageGrouper.next) as List<int>; |
267 try { | 326 try { |
268 return new WorkResponse.fromBuffer(buffer); | 327 return new WorkResponse.fromBuffer(buffer); |
269 } catch (_) { | 328 } catch (_) { |
270 var bufferAsString = | 329 var bufferAsString = |
271 buffer == null ? '' : 'String: ${UTF8.decode(buffer)}\n'; | 330 buffer == null ? '' : 'String: ${UTF8.decode(buffer)}\n'; |
272 throw 'Failed to parse response:\nbytes: $buffer\n$bufferAsString'; | 331 throw 'Failed to parse response:\nbytes: $buffer\n$bufferAsString'; |
273 } | 332 } |
274 } | 333 } |
OLD | NEW |