summaryrefslogtreecommitdiff
path: root/src/main/java/org/mockito/hamcrest
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2017-03-07 13:58:22 +0000
committerPaul Duffin <paulduffin@google.com>2017-03-14 14:36:15 +0000
commit2637d96c202372854a7c71466ddcc6e90fc4fc53 (patch)
treeafde30a7e9d8dba8988c16dc588dc423f0048dbd /src/main/java/org/mockito/hamcrest
parent616bf64e24452e7919d8379dcc408ced0d86bbd2 (diff)
downloadmockito-2637d96c202372854a7c71466ddcc6e90fc4fc53.tar.gz
Upgrade to Mockito v2.7.13
Renames README.android to README.version to match most common use of the file name. Deletes the compat classes, they will be added later, along with an upstream patch. Bug: 32912773 Test: see following commit Change-Id: Iaa4d16b2a5a71955d7ecddf195ae681cf6505088
Diffstat (limited to 'src/main/java/org/mockito/hamcrest')
-rw-r--r--src/main/java/org/mockito/hamcrest/MockitoHamcrest.java41
-rw-r--r--src/main/java/org/mockito/hamcrest/package-info.java9
2 files changed, 37 insertions, 13 deletions
diff --git a/src/main/java/org/mockito/hamcrest/MockitoHamcrest.java b/src/main/java/org/mockito/hamcrest/MockitoHamcrest.java
index f6ccd03..5f55d22 100644
--- a/src/main/java/org/mockito/hamcrest/MockitoHamcrest.java
+++ b/src/main/java/org/mockito/hamcrest/MockitoHamcrest.java
@@ -6,12 +6,14 @@ package org.mockito.hamcrest;
import org.hamcrest.Matcher;
import org.mockito.ArgumentMatcher;
-import org.mockito.Mockito;
+import org.mockito.internal.hamcrest.HamcrestArgumentMatcher;
+
+import static org.mockito.internal.hamcrest.MatcherGenericTypeExtractor.genericTypeOfMatcher;
+import static org.mockito.internal.progress.ThreadSafeMockingProgress.mockingProgress;
+import static org.mockito.internal.util.Primitives.defaultValue;
/**
- * Allows matching arguments with hamcrest matchers; back ported from 2.7.13
- * to help with upgrade.
- *
+ * Allows matching arguments with hamcrest matchers.
* <b>Requires</b> <a href="http://hamcrest.org/JavaHamcrest/">hamcrest</a> on classpath,
* Mockito <b>does not</b> depend on hamcrest!
* Note the <b>NullPointerException</b> auto-unboxing caveat described below.
@@ -56,7 +58,8 @@ public class MockitoHamcrest {
*/
@SuppressWarnings("unchecked")
public static <T> T argThat(Matcher<T> matcher) {
- return Mockito.argThat(matcher);
+ reportMatcher(matcher);
+ return (T) defaultValue(genericTypeOfMatcher(matcher.getClass()));
}
/**
@@ -69,7 +72,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static char charThat(Matcher<Character> matcher) {
- return Mockito.charThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -82,7 +86,8 @@ public class MockitoHamcrest {
* @return <code>false</code>.
*/
public static boolean booleanThat(Matcher<Boolean> matcher) {
- return Mockito.booleanThat(matcher);
+ reportMatcher(matcher);
+ return false;
}
/**
@@ -95,7 +100,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static byte byteThat(Matcher<Byte> matcher) {
- return Mockito.byteThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -108,7 +114,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static short shortThat(Matcher<Short> matcher) {
- return Mockito.shortThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -121,7 +128,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static int intThat(Matcher<Integer> matcher) {
- return Mockito.intThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -134,7 +142,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static long longThat(Matcher<Long> matcher) {
- return Mockito.longThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -147,7 +156,8 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static float floatThat(Matcher<Float> matcher) {
- return Mockito.floatThat(matcher);
+ reportMatcher(matcher);
+ return 0;
}
/**
@@ -160,6 +170,11 @@ public class MockitoHamcrest {
* @return <code>0</code>.
*/
public static double doubleThat(Matcher<Double> matcher) {
- return Mockito.doubleThat(matcher);
+ reportMatcher(matcher);
+ return 0;
+ }
+
+ private static <T> void reportMatcher(Matcher<T> matcher) {
+ mockingProgress().getArgumentMatcherStorage().reportMatcher(new HamcrestArgumentMatcher<T>(matcher));
}
}
diff --git a/src/main/java/org/mockito/hamcrest/package-info.java b/src/main/java/org/mockito/hamcrest/package-info.java
new file mode 100644
index 0000000..3e68039
--- /dev/null
+++ b/src/main/java/org/mockito/hamcrest/package-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright (c) 2007 Mockito contributors
+ * This program is made available under the terms of the MIT License.
+ */
+
+/**
+ * Mockito Hamcrest matcher integration.
+ */
+package org.mockito.hamcrest;