Merge pull request #4146 from lygstate:fixes_std_pair_diff

PiperOrigin-RevId: 528781910
Change-Id: I4038332a6255921792bfb4a8098aa84243d48e15
This commit is contained in:
Copybara-Service
2023-05-02 07:52:02 -07:00
4 changed files with 35 additions and 14 deletions

View File

@@ -33,7 +33,6 @@
#include <stdio.h>
#include <string>
#include <tuple>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
@@ -255,16 +254,12 @@ TEST_F(GMockOutputTest, CatchesLeakedMocks) {
}
MATCHER_P2(IsPair, first, second, "") {
return Value(std::get<0>(arg), first) && Value(std::get<1>(arg), second);
return Value(arg.first, first) && Value(arg.second, second);
}
TEST_F(GMockOutputTest, PrintsMatcher) {
const testing::Matcher<int> m1 = Ge(48);
// Explicitly using std::tuple instead of std::pair due to differences between
// MSVC and other compilers. std::pair is printed as
// "struct std::pair<int,bool>" when using MSVC vs "std::pair<int,bool>" with
// other compilers.
EXPECT_THAT((std::tuple<int, bool>(42, true)), IsPair(m1, true));
EXPECT_THAT((std::pair<int, bool>(42, true)), IsPair(m1, true));
}
void TestCatchesLeakedMocksInAdHocTests() {

View File

@@ -307,9 +307,9 @@ Stack trace:
[ OK ] GMockOutputTest.CatchesLeakedMocks
[ RUN ] GMockOutputTest.PrintsMatcher
FILE:#: Failure
Value of: (std::tuple<int, bool>(42, true))
Value of: (std::pair<int, bool>(42, true))
Expected: is pair (first: is >= 48, second: true)
Actual: (42, true)
Actual: (42, true) (of type std::pair<int,bool>)
[ FAILED ] GMockOutputTest.PrintsMatcher
[ FAILED ] GMockOutputTest.UnexpectedCall