| 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 'package:unittest/unittest.dart'; | 10 import 'package:unittest/unittest.dart'; |
| (...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 SolveSuccessMatcher(this._expected, this._maxTries); | 947 SolveSuccessMatcher(this._expected, this._maxTries); |
| 948 | 948 |
| 949 Description describe(Description description) { | 949 Description describe(Description description) { |
| 950 return description.add( | 950 return description.add( |
| 951 'Solver to use at most $_maxTries attempts to find:\n' | 951 'Solver to use at most $_maxTries attempts to find:\n' |
| 952 '${_listPackages(_expected.values)}'); | 952 '${_listPackages(_expected.values)}'); |
| 953 } | 953 } |
| 954 | 954 |
| 955 Description describeMismatch(SolveResult result, | 955 Description describeMismatch(SolveResult result, |
| 956 Description description, | 956 Description description, |
| 957 MatchState state, bool verbose) { | 957 Map state, bool verbose) { |
| 958 if (!result.succeeded) { | 958 if (!result.succeeded) { |
| 959 description.add('Solver failed with:\n${result.error}'); | 959 description.add('Solver failed with:\n${result.error}'); |
| 960 return null; | 960 return null; |
| 961 } | 961 } |
| 962 | 962 |
| 963 description.add('Resolved:\n${_listPackages(result.packages)}\n'); | 963 description.add('Resolved:\n${_listPackages(result.packages)}\n'); |
| 964 description.add(state.state); | 964 description.add(state.state); |
| 965 return description; | 965 return description; |
| 966 } | 966 } |
| 967 | 967 |
| 968 bool matches(SolveResult result, MatchState state) { | 968 bool matches(SolveResult result, Map state) { |
| 969 if (!result.succeeded) return false; | 969 if (!result.succeeded) return false; |
| 970 | 970 |
| 971 var expected = new Map.from(_expected); | 971 var expected = new Map.from(_expected); |
| 972 var failures = new StringBuffer(); | 972 var failures = new StringBuffer(); |
| 973 | 973 |
| 974 for (var id in result.packages) { | 974 for (var id in result.packages) { |
| 975 if (!expected.containsKey(id.name)) { | 975 if (!expected.containsKey(id.name)) { |
| 976 failures.writeln('Should not have selected $id'); | 976 failures.writeln('Should not have selected $id'); |
| 977 } else { | 977 } else { |
| 978 var expectedId = expected.remove(id.name); | 978 var expectedId = expected.remove(id.name); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1023 description.add('Solver should fail after at most $_maxTries attempts.'); | 1023 description.add('Solver should fail after at most $_maxTries attempts.'); |
| 1024 if (!_expected.isEmpty) { | 1024 if (!_expected.isEmpty) { |
| 1025 var textList = _expected.map((s) => '"$s"').join(", "); | 1025 var textList = _expected.map((s) => '"$s"').join(", "); |
| 1026 description.add(' The error should contain $textList.'); | 1026 description.add(' The error should contain $textList.'); |
| 1027 } | 1027 } |
| 1028 return description; | 1028 return description; |
| 1029 } | 1029 } |
| 1030 | 1030 |
| 1031 Description describeMismatch(SolveResult result, | 1031 Description describeMismatch(SolveResult result, |
| 1032 Description description, | 1032 Description description, |
| 1033 MatchState state, bool verbose) { | 1033 Map state, bool verbose) { |
| 1034 description.add(state.state); | 1034 description.add(state.state); |
| 1035 return description; | 1035 return description; |
| 1036 } | 1036 } |
| 1037 | 1037 |
| 1038 bool matches(SolveResult result, MatchState state) { | 1038 bool matches(SolveResult result, Map state) { |
| 1039 var failures = new StringBuffer(); | 1039 var failures = new StringBuffer(); |
| 1040 | 1040 |
| 1041 if (result.succeeded) { | 1041 if (result.succeeded) { |
| 1042 failures.writeln('Solver succeeded'); | 1042 failures.writeln('Solver succeeded'); |
| 1043 } else { | 1043 } else { |
| 1044 if (_expectedType != null && result.error.runtimeType != _expectedType) { | 1044 if (_expectedType != null && result.error.runtimeType != _expectedType) { |
| 1045 failures.writeln('Should have error type $_expectedType, got ' | 1045 failures.writeln('Should have error type $_expectedType, got ' |
| 1046 '${result.error.runtimeType}'); | 1046 '${result.error.runtimeType}'); |
| 1047 } | 1047 } |
| 1048 | 1048 |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1191 var source = "mock1"; | 1191 var source = "mock1"; |
| 1192 var match = new RegExp(r"(.*) from (.*)").firstMatch(description); | 1192 var match = new RegExp(r"(.*) from (.*)").firstMatch(description); |
| 1193 if (match != null) { | 1193 if (match != null) { |
| 1194 name = match[1]; | 1194 name = match[1]; |
| 1195 source = match[2]; | 1195 source = match[2]; |
| 1196 if (source == "root") source = null; | 1196 if (source == "root") source = null; |
| 1197 } | 1197 } |
| 1198 | 1198 |
| 1199 callback(isDev, name, source); | 1199 callback(isDev, name, source); |
| 1200 } | 1200 } |
| OLD | NEW |