aboutsummaryrefslogtreecommitdiffstats
path: root/test/gmock-matchers_test.cc
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-05-14 20:55:30 +0000
committerzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-05-14 20:55:30 +0000
commit16cf473930c01cd7a1a51dff65f22c541fbad5b8 (patch)
tree5d286c8a70d91a0f100523f64ad17d316e8f25f7 /test/gmock-matchers_test.cc
parentc6a412397bc98f120d5e79d4a64e3972854b5af3 (diff)
downloadgoogletest-16cf473930c01cd7a1a51dff65f22c541fbad5b8.tar.gz
googletest-16cf473930c01cd7a1a51dff65f22c541fbad5b8.tar.bz2
googletest-16cf473930c01cd7a1a51dff65f22c541fbad5b8.zip
Finishes SafeMatcherCast by catching lossy arithmetic conversions at compile-time; uses ACTION_TEMPLATE to simplify the definition of many actions; makes mock object uncopyable; teaches gmock doctor about wrong MOCK_METHODn.
Diffstat (limited to 'test/gmock-matchers_test.cc')
-rw-r--r--test/gmock-matchers_test.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/test/gmock-matchers_test.cc b/test/gmock-matchers_test.cc
index ab5ca35c..e7709018 100644
--- a/test/gmock-matchers_test.cc
+++ b/test/gmock-matchers_test.cc
@@ -376,13 +376,18 @@ TEST(SafeMatcherCastTest, FromPolymorphicMatcher) {
EXPECT_FALSE(m2.Matches('\n'));
}
-// Tests that SafeMatcherCast<T>(m) works when m is a Matcher<U> where T
-// can be implicitly converted to U.
-TEST(SafeMatcherCastTest, FromImplicitlyConvertibleType) {
+// Tests that SafeMatcherCast<T>(m) works when m is a Matcher<U> where
+// T and U are arithmetic types and T can be losslessly converted to
+// U.
+TEST(SafeMatcherCastTest, FromLosslesslyConvertibleArithmeticType) {
Matcher<double> m1 = DoubleEq(1.0);
- Matcher<int> m2 = SafeMatcherCast<int>(m1);
- EXPECT_TRUE(m2.Matches(1));
- EXPECT_FALSE(m2.Matches(2));
+ Matcher<float> m2 = SafeMatcherCast<float>(m1);
+ EXPECT_TRUE(m2.Matches(1.0f));
+ EXPECT_FALSE(m2.Matches(2.0f));
+
+ Matcher<char> m3 = SafeMatcherCast<char>(TypedEq<int>('a'));
+ EXPECT_TRUE(m3.Matches('a'));
+ EXPECT_FALSE(m3.Matches('b'));
}
// Tests that SafeMatcherCast<T>(m) works when m is a Matcher<U> where T and U