OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub | 5 /// Test infrastructure for testing pub. Unlike typical unit tests, most pub |
6 /// tests are integration tests that stage some stuff on the file system, run | 6 /// tests are integration tests that stage some stuff on the file system, run |
7 /// pub, and then validate the results. This library provides an API to build | 7 /// pub, and then validate the results. This library provides an API to build |
8 /// tests like that. | 8 /// tests like that. |
9 library test_pub; | 9 library test_pub; |
10 | 10 |
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 } | 538 } |
539 | 539 |
540 /// Converts a list of dependencies as passed to [package] into a hash as used | 540 /// Converts a list of dependencies as passed to [package] into a hash as used |
541 /// in a pubspec. | 541 /// in a pubspec. |
542 Future<Map> dependencyListToMap(List<Map> dependencies) { | 542 Future<Map> dependencyListToMap(List<Map> dependencies) { |
543 return awaitObject(dependencies).then((resolvedDependencies) { | 543 return awaitObject(dependencies).then((resolvedDependencies) { |
544 var result = <String, Map>{}; | 544 var result = <String, Map>{}; |
545 for (var dependency in resolvedDependencies) { | 545 for (var dependency in resolvedDependencies) { |
546 var keys = dependency.keys.where((key) => key != "version"); | 546 var keys = dependency.keys.where((key) => key != "version"); |
547 var sourceName = only(keys); | 547 var sourceName = only(keys); |
548 var source; | |
549 switch (sourceName) { | |
550 case "git": | |
551 source = new GitSource(); | |
552 break; | |
553 case "hosted": | |
554 source = new HostedSource(); | |
555 break; | |
556 case "path": | |
557 source = new PathSource(); | |
558 break; | |
559 default: | |
560 throw new Exception('Unknown source "$sourceName"'); | |
561 } | |
562 | 548 |
563 result[_packageName(sourceName, dependency[sourceName])] = dependency; | 549 result[_packageName(sourceName, dependency[sourceName])] = dependency; |
564 } | 550 } |
565 return result; | 551 return result; |
566 }); | 552 }); |
567 } | 553 } |
568 | 554 |
569 /// Return the name for the package described by [description] and from | 555 /// Return the name for the package described by [description] and from |
570 /// [sourceName]. | 556 /// [sourceName]. |
571 String _packageName(String sourceName, description) { | 557 String _packageName(String sourceName, description) { |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 bool matches(item, MatchState matchState) { | 682 bool matches(item, MatchState matchState) { |
697 if (item is! Pair) return false; | 683 if (item is! Pair) return false; |
698 return _firstMatcher.matches(item.first, matchState) && | 684 return _firstMatcher.matches(item.first, matchState) && |
699 _lastMatcher.matches(item.last, matchState); | 685 _lastMatcher.matches(item.last, matchState); |
700 } | 686 } |
701 | 687 |
702 Description describe(Description description) { | 688 Description describe(Description description) { |
703 description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]); | 689 description.addAll("(", ", ", ")", [_firstMatcher, _lastMatcher]); |
704 } | 690 } |
705 } | 691 } |
OLD | NEW |