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

Unified Diff: testing/gmock-support.h

Issue 881653003: Don't use internal gmock helper classes. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: testing/gmock-support.h
diff --git a/testing/gmock-support.h b/testing/gmock-support.h
index 012775b5cbffbf6b33de4fb3bb67c6ae04583ef3..d00468e083ccfbe0e78e76ce87518129d24bfb2c 100644
--- a/testing/gmock-support.h
+++ b/testing/gmock-support.h
@@ -7,6 +7,7 @@
#include <cmath>
#include <cstring>
+#include <string>
#include "testing/gmock/include/gmock/gmock.h"
@@ -34,25 +35,6 @@ class Capture {
namespace internal {
-struct AnyBitEq {
- template <typename A, typename B>
- bool operator()(A const& a, B const& b) const {
- if (sizeof(A) != sizeof(B)) return false;
- return std::memcmp(&a, &b, sizeof(A)) == 0;
- }
-};
-
-
-template <typename Rhs>
-class BitEqMatcher : public ComparisonBase<BitEqMatcher<Rhs>, Rhs, AnyBitEq> {
- public:
- explicit BitEqMatcher(Rhs const& rhs)
- : ComparisonBase<BitEqMatcher<Rhs>, Rhs, AnyBitEq>(rhs) {}
- static const char* Desc() { return "is bitwise equal to"; }
- static const char* NegatedDesc() { return "isn't bitwise equal to"; }
-};
-
-
template <typename T>
class CaptureEqMatcher : public MatcherInterface<T> {
public:
@@ -83,10 +65,11 @@ class CaptureEqMatcher : public MatcherInterface<T> {
// Creates a polymorphic matcher that matches anything whose bit representation
-// is equal to that of x.
-template <typename T>
-inline internal::BitEqMatcher<T> BitEq(T const& x) {
- return internal::BitEqMatcher<T>(x);
+// is equal to that of {x}.
+MATCHER_P(BitEq, x, std::string(negation ? "isn't" : "is") +
+ " bitwise equal to " + PrintToString(x)) {
+ static_assert(sizeof(x) == sizeof(arg), "Size mismatch");
+ return std::memcmp(&arg, &x, sizeof(x)) == 0;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698