| 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 matcher.operator_matchers; |    5 library matcher.operator_matchers; | 
|    6  |    6  | 
|    7 import 'core_matchers.dart'; |  | 
|    8 import 'expect.dart'; |  | 
|    9 import 'interfaces.dart'; |    7 import 'interfaces.dart'; | 
 |    8 import 'util.dart'; | 
|   10  |    9  | 
|   11 /// This returns a matcher that inverts [matcher] to its logical negation. |   10 /// This returns a matcher that inverts [matcher] to its logical negation. | 
|   12 Matcher isNot(matcher) => new _IsNot(wrapMatcher(matcher)); |   11 Matcher isNot(matcher) => new _IsNot(wrapMatcher(matcher)); | 
|   13  |   12  | 
|   14 class _IsNot extends Matcher { |   13 class _IsNot extends Matcher { | 
|   15   final Matcher _matcher; |   14   final Matcher _matcher; | 
|   16  |   15  | 
|   17   const _IsNot(Matcher this._matcher); |   16   const _IsNot(this._matcher); | 
|   18  |   17  | 
|   19   bool matches(item, Map matchState) => !_matcher.matches(item, matchState); |   18   bool matches(item, Map matchState) => !_matcher.matches(item, matchState); | 
|   20  |   19  | 
|   21   Description describe(Description description) => |   20   Description describe(Description description) => | 
|   22     description.add('not ').addDescriptionOf(_matcher); |   21     description.add('not ').addDescriptionOf(_matcher); | 
|   23 } |   22 } | 
|   24  |   23  | 
|   25 /// This returns a matcher that matches if all of the matchers passed as |   24 /// This returns a matcher that matches if all of the matchers passed as | 
|   26 /// arguments (up to 7) match. Instead of passing the matchers separately |   25 /// arguments (up to 7) match. Instead of passing the matchers separately | 
|   27 /// they can be passed as a single List argument. |   26 /// they can be passed as a single List argument. | 
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   96       } |   95       } | 
|   97     } |   96     } | 
|   98     return false; |   97     return false; | 
|   99   } |   98   } | 
|  100  |   99  | 
|  101   Description describe(Description description) => |  100   Description describe(Description description) => | 
|  102     description.addAll('(', ' or ', ')', _matchers); |  101     description.addAll('(', ' or ', ')', _matchers); | 
|  103 } |  102 } | 
|  104  |  103  | 
|  105 List<Matcher> _wrapArgs(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { |  104 List<Matcher> _wrapArgs(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { | 
 |  105   Iterable<Matcher> matchers; | 
|  106   if (arg0 is List) { |  106   if (arg0 is List) { | 
|  107     // TODO(kevmoo) throw a more helpful error here if any of these args is |  107     if (arg1 != null || arg2 != null || arg3 != null || arg4 != null || | 
|  108     // not null |  108         arg5 != null || arg6 != null) { | 
|  109     expect(arg1, isNull); |  109       throw new ArgumentError('If arg0 is a List, all other arguments must be' | 
|  110     expect(arg2, isNull); |  110           ' null.'); | 
|  111     expect(arg3, isNull); |  111     } | 
|  112     expect(arg4, isNull); |  | 
|  113     expect(arg5, isNull); |  | 
|  114     expect(arg6, isNull); |  | 
|  115  |  112  | 
|  116     return arg0.map((a) => wrapMatcher(a)).toList(); |  113     matchers = arg0; | 
 |  114   } else { | 
 |  115     matchers = [arg0, arg1, arg2, arg3, arg4, arg5, arg6] | 
 |  116         .where((e) => e != null); | 
|  117   } |  117   } | 
|  118  |  118  | 
|  119   List matchers = new List(); |  119   return matchers | 
|  120   if (arg0 != null) { |  120       .map((e) => wrapMatcher(e)) | 
|  121     matchers.add(wrapMatcher(arg0)); |  121       .toList(); | 
|  122   } |  | 
|  123   if (arg1 != null) { |  | 
|  124     matchers.add(wrapMatcher(arg1)); |  | 
|  125   } |  | 
|  126   if (arg2 != null) { |  | 
|  127     matchers.add(wrapMatcher(arg2)); |  | 
|  128   } |  | 
|  129   if (arg3 != null) { |  | 
|  130     matchers.add(wrapMatcher(arg3)); |  | 
|  131   } |  | 
|  132   if (arg4 != null) { |  | 
|  133     matchers.add(wrapMatcher(arg4)); |  | 
|  134   } |  | 
|  135   if (arg5 != null) { |  | 
|  136     matchers.add(wrapMatcher(arg5)); |  | 
|  137   } |  | 
|  138   if (arg6 != null) { |  | 
|  139     matchers.add(wrapMatcher(arg6)); |  | 
|  140   } |  | 
|  141   return matchers; |  | 
|  142 } |  122 } | 
| OLD | NEW |