| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 pub_update_test; | 5 library pub_update_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:io'; | 8 import 'dart:io'; |
| 9 | 9 |
| 10 import '../../pub/lock_file.dart'; | 10 import '../../pub/lock_file.dart'; |
| 11 import '../../pub/package.dart'; | 11 import '../../pub/package.dart'; |
| 12 import '../../pub/pubspec.dart'; | 12 import '../../pub/pubspec.dart'; |
| 13 import '../../pub/root_source.dart'; | |
| 14 import '../../pub/source.dart'; | 13 import '../../pub/source.dart'; |
| 15 import '../../pub/source_registry.dart'; | 14 import '../../pub/source_registry.dart'; |
| 16 import '../../pub/system_cache.dart'; | 15 import '../../pub/system_cache.dart'; |
| 17 import '../../pub/utils.dart'; | 16 import '../../pub/utils.dart'; |
| 18 import '../../pub/version.dart'; | 17 import '../../pub/version.dart'; |
| 19 import '../../pub/version_solver.dart'; | 18 import '../../pub/version_solver.dart'; |
| 20 import '../../../pkg/unittest/lib/unittest.dart'; | 19 import '../../../pkg/unittest/lib/unittest.dart'; |
| 21 | 20 |
| 22 Matcher noVersion(List<String> packages) { | 21 Matcher noVersion(List<String> packages) { |
| 23 return predicate((x) { | 22 return predicate((x) { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 if (!x.toString().contains(package1)) return false; | 61 if (!x.toString().contains(package1)) return false; |
| 63 if (!x.toString().contains(package2)) return false; | 62 if (!x.toString().contains(package2)) return false; |
| 64 | 63 |
| 65 return true; | 64 return true; |
| 66 }, "is a SourceMismatchException"); | 65 }, "is a SourceMismatchException"); |
| 67 } | 66 } |
| 68 | 67 |
| 69 MockSource source1; | 68 MockSource source1; |
| 70 MockSource source2; | 69 MockSource source2; |
| 71 Source versionlessSource; | 70 Source versionlessSource; |
| 72 Source rootSource; | |
| 73 | 71 |
| 74 main() { | 72 main() { |
| 75 testResolve('no dependencies', { | 73 testResolve('no dependencies', { |
| 76 'myapp 0.0.0': {} | 74 'myapp 0.0.0': {} |
| 77 }, result: { | 75 }, result: { |
| 78 'myapp from root': '0.0.0' | 76 'myapp from root': '0.0.0' |
| 79 }); | 77 }); |
| 80 | 78 |
| 81 testResolve('simple dependency tree', { | 79 testResolve('simple dependency tree', { |
| 82 'myapp 0.0.0': { | 80 'myapp 0.0.0': { |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 var parts = nameVersion.split(' '); | 396 var parts = nameVersion.split(' '); |
| 399 var name = parts[0]; | 397 var name = parts[0]; |
| 400 var version = parts[1]; | 398 var version = parts[1]; |
| 401 | 399 |
| 402 var package = source1.mockPackage(name, version, dependencies); | 400 var package = source1.mockPackage(name, version, dependencies); |
| 403 if (name == 'myapp') { | 401 if (name == 'myapp') { |
| 404 // Don't add the root package to the server, so we can verify that Pub | 402 // Don't add the root package to the server, so we can verify that Pub |
| 405 // doesn't try to look up information about the local package on the | 403 // doesn't try to look up information about the local package on the |
| 406 // remote server. | 404 // remote server. |
| 407 root = package; | 405 root = package; |
| 408 rootSource = new RootSource(root); | |
| 409 cache.register(rootSource); | |
| 410 } else { | 406 } else { |
| 411 source.addPackage(package); | 407 source.addPackage(package); |
| 412 } | 408 } |
| 413 }); | 409 }); |
| 414 | 410 |
| 415 // Clean up the expectation. | 411 // Clean up the expectation. |
| 416 if (result != null) { | 412 if (result != null) { |
| 417 var newResult = {}; | 413 var newResult = {}; |
| 418 result.forEach((name, version) { | 414 result.forEach((name, version) { |
| 419 var parsed = parseSource(name); | 415 var parsed = parseSource(name); |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 | 534 |
| 539 return completer.future; | 535 return completer.future; |
| 540 } | 536 } |
| 541 | 537 |
| 542 Pair<String, Source> parseSource(String name) { | 538 Pair<String, Source> parseSource(String name) { |
| 543 var match = new RegExp(r"(.*) from (.*)").firstMatch(name); | 539 var match = new RegExp(r"(.*) from (.*)").firstMatch(name); |
| 544 if (match == null) return new Pair<String, Source>(name, source1); | 540 if (match == null) return new Pair<String, Source>(name, source1); |
| 545 switch (match[2]) { | 541 switch (match[2]) { |
| 546 case 'mock1': return new Pair<String, Source>(match[1], source1); | 542 case 'mock1': return new Pair<String, Source>(match[1], source1); |
| 547 case 'mock2': return new Pair<String, Source>(match[1], source2); | 543 case 'mock2': return new Pair<String, Source>(match[1], source2); |
| 548 case 'root': return new Pair<String, Source>(match[1], rootSource); | 544 case 'root': return new Pair<String, Source>(match[1], null); |
| 549 case 'versionless': | 545 case 'versionless': |
| 550 return new Pair<String, Source>(match[1], versionlessSource); | 546 return new Pair<String, Source>(match[1], versionlessSource); |
| 551 } | 547 } |
| 552 } | 548 } |
| OLD | NEW |