Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Unified Diff: pkg/unittest/mock.dart

Issue 10948005: Reverting 12485 and 12480 just for the sake of mocking, (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/isolate/base.dart ('k') | pkg/unittest/unittest.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/unittest/mock.dart
===================================================================
--- pkg/unittest/mock.dart (revision 12486)
+++ pkg/unittest/mock.dart (working copy)
@@ -38,6 +38,11 @@
_MockFailureHandler _mockFailureHandler = null;
+/**
+ * [_noArg] is a sentinel value representing no argument.
+ */
+const _noArg = const _Sentinel();
+
/** The ways in which a call to a mock method can be handled. */
class Action {
/** Do nothing (void method) */
@@ -88,29 +93,42 @@
* or a [Matcher]. The various arguments can be scalar values or
* [Matcher]s.
*/
- CallMatcher([name, arg0, arg1, arg2, arg3, arg4,
- arg5, arg6, arg7, arg8, arg9]) {
- nameFilter = name != null ? wrapMatcher(name) : anything;
+ CallMatcher([name,
+ arg0 = _noArg,
+ arg1 = _noArg,
+ arg2 = _noArg,
+ arg3 = _noArg,
+ arg4 = _noArg,
+ arg5 = _noArg,
+ arg6 = _noArg,
+ arg7 = _noArg,
+ arg8 = _noArg,
+ arg9 = _noArg]) {
+ if (name == null) {
+ nameFilter = anything;
+ } else {
+ nameFilter = wrapMatcher(name);
+ }
argMatchers = new List<Matcher>();
- if (!?arg0) return;
+ if (arg0 === _noArg) return;
argMatchers.add(wrapMatcher(arg0));
- if (!?arg1) return;
+ if (arg1 === _noArg) return;
argMatchers.add(wrapMatcher(arg1));
- if (!?arg2) return;
+ if (arg2 === _noArg) return;
argMatchers.add(wrapMatcher(arg2));
- if (!?arg3) return;
+ if (arg3 === _noArg) return;
argMatchers.add(wrapMatcher(arg3));
- if (!?arg4) return;
+ if (arg4 === _noArg) return;
argMatchers.add(wrapMatcher(arg4));
- if (!?arg5) return;
+ if (arg5 === _noArg) return;
argMatchers.add(wrapMatcher(arg5));
- if (!?arg6) return;
+ if (arg6 === _noArg) return;
argMatchers.add(wrapMatcher(arg6));
- if (!?arg7) return;
+ if (arg7 === _noArg) return;
argMatchers.add(wrapMatcher(arg7));
- if (!?arg8) return;
+ if (arg8 === _noArg) return;
argMatchers.add(wrapMatcher(arg8));
- if (!?arg9) return;
+ if (arg9 === _noArg) return;
argMatchers.add(wrapMatcher(arg9));
}
@@ -164,18 +182,19 @@
* null to match anything, or a literal [String], a predicate [Function],
* or a [Matcher]. The various arguments can be scalar values or [Matcher]s.
*/
-CallMatcher callsTo([method, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9]) {
- if (!?a0) return new CallMatcher(method);
- if (!?a1) return new CallMatcher(method, a0);
- if (!?a2) return new CallMatcher(method, a0, a1);
- if (!?a3) return new CallMatcher(method, a0, a1, a2);
- if (!?a4) return new CallMatcher(method, a0, a1, a2, a3);
- if (!?a5) return new CallMatcher(method, a0, a1, a2, a3, a4);
- if (!?a6) return new CallMatcher(method, a0, a1, a2, a3, a4, a5);
- if (!?a7) return new CallMatcher(method, a0, a1, a2, a3, a4, a5, a6);
- if (!?a8) return new CallMatcher(method, a0, a1, a2, a3, a4, a5, a6, a7);
- if (!?a9) return new CallMatcher(method, a0, a1, a2, a3, a4, a5, a6, a7, a8);
- return new CallMatcher(method, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
+CallMatcher callsTo([method,
+ arg0 = _noArg,
+ arg1 = _noArg,
+ arg2 = _noArg,
+ arg3 = _noArg,
+ arg4 = _noArg,
+ arg5 = _noArg,
+ arg6 = _noArg,
+ arg7 = _noArg,
+ arg8 = _noArg,
+ arg9 = _noArg]) {
+ return new CallMatcher(method, arg0, arg1, arg2, arg3, arg4,
+ arg5, arg6, arg7, arg8, arg9);
}
/**
@@ -1404,21 +1423,19 @@
* Useful shorthand method that creates a [CallMatcher] from its arguments
* and then calls [getLogs].
*/
- LogEntryList calls(method, [a0, a1, a2, a3, a4, a5, a6, a7, a8, a9]) {
- if (!?a0) return getLogs(callsTo(method));
- if (!?a1) return getLogs(callsTo(method, a0));
- if (!?a2) return getLogs(callsTo(method, a0, a1));
- if (!?a3) return getLogs(callsTo(method, a0, a1, a2));
- if (!?a4) return getLogs(callsTo(method, a0, a1, a2, a3));
- if (!?a5) return getLogs(callsTo(method, a0, a1, a2, a3, a4));
- if (!?a6) return getLogs(callsTo(method, a0, a1, a2, a3, a4, a5));
- if (!?a7) return getLogs(callsTo(method, a0, a1, a2, a3, a4, a5, a6));
- if (!?a8) return getLogs(callsTo(method, a0, a1, a2, a3, a4, a5, a6, a7));
- if (!?a9) {
- return getLogs(callsTo(method, a0, a1, a2, a3, a4, a5, a6, a7, a8));
- }
- return getLogs(callsTo(method, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9));
- }
+ LogEntryList calls(method,
+ [arg0 = _noArg,
+ arg1 = _noArg,
+ arg2 = _noArg,
+ arg3 = _noArg,
+ arg4 = _noArg,
+ arg5 = _noArg,
+ arg6 = _noArg,
+ arg7 = _noArg,
+ arg8 = _noArg,
+ arg9 = _noArg]) =>
+ getLogs(callsTo(method, arg0, arg1, arg2, arg3, arg4,
+ arg5, arg6, arg7, arg8, arg9));
/** Clear the behaviors for the Mock. */
void resetBehavior() => _behaviors.clear();
« no previous file with comments | « lib/isolate/base.dart ('k') | pkg/unittest/unittest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698