Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
32de5f53
Commit
32de5f53
authored
Dec 23, 2009
by
zhanyong.wan
Browse files
Fixes a slew of compiler warnings and turns on "warning as error" in the scons build.
parent
284b54d3
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
148 additions
and
44 deletions
+148
-44
test/gmock-generated-matchers_test.cc
test/gmock-generated-matchers_test.cc
+16
-7
test/gmock-internal-utils_test.cc
test/gmock-internal-utils_test.cc
+7
-7
test/gmock-matchers_test.cc
test/gmock-matchers_test.cc
+22
-9
test/gmock-more-actions_test.cc
test/gmock-more-actions_test.cc
+12
-8
test/gmock-nice-strict_test.cc
test/gmock-nice-strict_test.cc
+11
-0
test/gmock-port_test.cc
test/gmock-port_test.cc
+4
-4
test/gmock-printers_test.cc
test/gmock-printers_test.cc
+7
-7
test/gmock-spec-builders_test.cc
test/gmock-spec-builders_test.cc
+39
-1
test/gmock_leak_test_.cc
test/gmock_leak_test_.cc
+5
-0
test/gmock_link_test.h
test/gmock_link_test.h
+20
-1
test/gmock_output_test_.cc
test/gmock_output_test_.cc
+5
-0
No files found.
test/gmock-generated-matchers_test.cc
View file @
32de5f53
...
...
@@ -223,8 +223,9 @@ class GreaterThanMatcher : public MatcherInterface<int> {
*
os
<<
"is "
<<
-
diff
<<
" less than "
<<
rhs_
;
}
}
private:
const
int
rhs_
;
int
rhs_
;
};
Matcher
<
int
>
GreaterThan
(
int
n
)
{
...
...
@@ -411,7 +412,7 @@ TEST(ElementsAreTest, WorksForNestedContainer) {
};
vector
<
list
<
char
>
>
nested
;
for
(
in
t
i
=
0
;
i
<
GMOCK_ARRAY_SIZE_
(
strings
);
i
++
)
{
for
(
size_
t
i
=
0
;
i
<
GMOCK_ARRAY_SIZE_
(
strings
);
i
++
)
{
nested
.
push_back
(
list
<
char
>
(
strings
[
i
],
strings
[
i
]
+
strlen
(
strings
[
i
])));
}
...
...
@@ -446,7 +447,12 @@ TEST(ElementsAreTest, WorksWithNativeArrayPassedByReference) {
class
NativeArrayPassedAsPointerAndSize
{
public:
NativeArrayPassedAsPointerAndSize
()
{}
MOCK_METHOD2
(
Helper
,
void
(
int
*
array
,
int
size
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
NativeArrayPassedAsPointerAndSize
);
};
TEST
(
ElementsAreTest
,
WorksWithNativeArrayPassedAsPointerAndSize
)
{
...
...
@@ -550,7 +556,10 @@ TEST(MatcherMacroTest, Works) {
// Tests that the description string supplied to MATCHER() must be
// valid.
MATCHER
(
HasBadDescription
,
"Invalid%"
)
{
return
true
;
}
MATCHER
(
HasBadDescription
,
"Invalid%"
)
{
// Uses arg to suppress "unused parameter" warning.
return
arg
==
arg
;
}
TEST
(
MatcherMacroTest
,
CreatingMatcherWithBadDescriptionGeneratesNonfatalFailure
)
{
...
...
@@ -560,7 +569,7 @@ TEST(MatcherMacroTest,
"use
\"
%%
\"
instead of
\"
%
\"
to print
\"
%
\"
."
);
}
MATCHER
(
HasGoodDescription
,
"good"
)
{
return
true
;
}
MATCHER
(
HasGoodDescription
,
"good"
)
{
return
arg
==
arg
;
}
TEST
(
MatcherMacroTest
,
AcceptsValidDescription
)
{
const
Matcher
<
int
>
m
=
HasGoodDescription
();
...
...
@@ -642,7 +651,7 @@ TEST(MatcherPMacroTest,
}
MATCHER_P
(
HasGoodDescription1
,
n
,
"good %(n)s"
)
{
return
true
;
}
MATCHER_P
(
HasGoodDescription1
,
n
,
"good %(n)s"
)
{
return
arg
==
arg
;
}
TEST
(
MatcherPMacroTest
,
AcceptsValidDescription
)
{
const
Matcher
<
int
>
m
=
HasGoodDescription1
(
5
);
...
...
@@ -709,7 +718,7 @@ TEST(MatcherPnMacroTest,
MATCHER_P2
(
HasComplexDescription
,
foo
,
bar
,
"is as complex as %(foo)s %(bar)s (i.e. %(*)s or %%%(foo)s!)"
)
{
return
true
;
return
arg
==
arg
;
}
TEST
(
MatcherPnMacroTest
,
AcceptsValidDescription
)
{
...
...
@@ -861,7 +870,7 @@ TEST(MatcherPnMacroTest, WorksForDifferentParameterTypes) {
MATCHER_P2
(
EqConcat
,
prefix
,
suffix
,
""
)
{
// The following lines promote the two parameters to desired types.
std
::
string
prefix_str
(
prefix
);
char
suffix_char
(
suffix
);
char
suffix_char
=
static_cast
<
char
>
(
suffix
);
return
arg
==
prefix_str
+
suffix_char
;
}
...
...
test/gmock-internal-utils_test.cc
View file @
32de5f53
...
...
@@ -819,7 +819,7 @@ TEST(CopyArrayTest, WorksForTwoDimensionalArrays) {
TEST
(
NativeArrayTest
,
ConstructorFromArrayWorks
)
{
const
int
a
[
3
]
=
{
0
,
1
,
2
};
NativeArray
<
int
>
na
(
a
,
3
,
kReference
);
EXPECT_EQ
(
3
,
na
.
size
());
EXPECT_EQ
(
3
U
,
na
.
size
());
EXPECT_EQ
(
a
,
na
.
begin
());
}
...
...
@@ -849,7 +849,7 @@ TEST(NativeArrayTest, TypeMembersAreCorrect) {
TEST
(
NativeArrayTest
,
MethodsWork
)
{
const
int
a
[
3
]
=
{
0
,
1
,
2
};
NativeArray
<
int
>
na
(
a
,
3
,
kCopy
);
ASSERT_EQ
(
3
,
na
.
size
());
ASSERT_EQ
(
3
U
,
na
.
size
());
EXPECT_EQ
(
3
,
na
.
end
()
-
na
.
begin
());
NativeArray
<
int
>::
const_iterator
it
=
na
.
begin
();
...
...
@@ -875,7 +875,7 @@ TEST(NativeArrayTest, MethodsWork) {
TEST
(
NativeArrayTest
,
WorksForTwoDimensionalArray
)
{
const
char
a
[
2
][
3
]
=
{
"hi"
,
"lo"
};
NativeArray
<
char
[
3
]
>
na
(
a
,
2
,
kReference
);
ASSERT_EQ
(
2
,
na
.
size
());
ASSERT_EQ
(
2
U
,
na
.
size
());
EXPECT_EQ
(
a
,
na
.
begin
());
}
...
...
@@ -910,11 +910,11 @@ TEST(StlContainerViewTest, WorksForStaticNativeArray) {
int
a1
[
3
]
=
{
0
,
1
,
2
};
NativeArray
<
int
>
a2
=
StlContainerView
<
int
[
3
]
>::
ConstReference
(
a1
);
EXPECT_EQ
(
3
,
a2
.
size
());
EXPECT_EQ
(
3
U
,
a2
.
size
());
EXPECT_EQ
(
a1
,
a2
.
begin
());
const
NativeArray
<
int
>
a3
=
StlContainerView
<
int
[
3
]
>::
Copy
(
a1
);
ASSERT_EQ
(
3
,
a3
.
size
());
ASSERT_EQ
(
3
U
,
a3
.
size
());
EXPECT_EQ
(
0
,
a3
.
begin
()[
0
]);
EXPECT_EQ
(
1
,
a3
.
begin
()[
1
]);
EXPECT_EQ
(
2
,
a3
.
begin
()[
2
]);
...
...
@@ -937,12 +937,12 @@ TEST(StlContainerViewTest, WorksForDynamicNativeArray) {
const
int
*
const
p1
=
a1
;
NativeArray
<
int
>
a2
=
StlContainerView
<
tuple
<
const
int
*
,
int
>
>::
ConstReference
(
make_tuple
(
p1
,
3
));
EXPECT_EQ
(
3
,
a2
.
size
());
EXPECT_EQ
(
3
U
,
a2
.
size
());
EXPECT_EQ
(
a1
,
a2
.
begin
());
const
NativeArray
<
int
>
a3
=
StlContainerView
<
tuple
<
int
*
,
size_t
>
>::
Copy
(
make_tuple
(
static_cast
<
int
*>
(
a1
),
3
));
ASSERT_EQ
(
3
,
a3
.
size
());
ASSERT_EQ
(
3
U
,
a3
.
size
());
EXPECT_EQ
(
0
,
a3
.
begin
()[
0
]);
EXPECT_EQ
(
1
,
a3
.
begin
()[
1
]);
EXPECT_EQ
(
2
,
a3
.
begin
()[
2
]);
...
...
test/gmock-matchers_test.cc
View file @
32de5f53
...
...
@@ -152,8 +152,9 @@ class GreaterThanMatcher : public MatcherInterface<int> {
*
os
<<
"is "
<<
-
diff
<<
" less than "
<<
rhs_
;
}
}
private:
const
int
rhs_
;
int
rhs_
;
};
Matcher
<
int
>
GreaterThan
(
int
n
)
{
...
...
@@ -335,7 +336,7 @@ class IntValue {
public:
// An int can be statically (although not implicitly) cast to a
// IntValue.
explicit
IntValue
(
int
value
)
:
value_
(
value
)
{}
explicit
IntValue
(
int
a_
value
)
:
value_
(
a_
value
)
{}
int
value
()
const
{
return
value_
;
}
private:
...
...
@@ -560,7 +561,7 @@ class Unprintable {
public:
Unprintable
()
:
c_
(
'a'
)
{}
bool
operator
==
(
const
Unprintable
&
rhs
)
{
return
true
;
}
bool
operator
==
(
const
Unprintable
&
/* rhs */
)
{
return
true
;
}
private:
char
c_
;
};
...
...
@@ -606,7 +607,7 @@ TEST(TypedEqTest, CanDescribeSelf) {
// "undefined referece".
template
<
typename
T
>
struct
Type
{
static
bool
IsTypeOf
(
const
T
&
v
)
{
return
true
;
}
static
bool
IsTypeOf
(
const
T
&
/* v */
)
{
return
true
;
}
template
<
typename
T2
>
static
void
IsTypeOf
(
T2
v
);
...
...
@@ -1861,8 +1862,9 @@ class IsGreaterThan {
explicit
IsGreaterThan
(
int
threshold
)
:
threshold_
(
threshold
)
{}
bool
operator
()(
int
n
)
const
{
return
n
>
threshold_
;
}
private:
const
int
threshold_
;
int
threshold_
;
};
// For testing Truly().
...
...
@@ -1959,7 +1961,12 @@ TEST(AllArgsTest, WorksForNonTuple) {
class
AllArgsHelper
{
public:
AllArgsHelper
()
{}
MOCK_METHOD2
(
Helper
,
int
(
char
x
,
int
y
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
AllArgsHelper
);
};
TEST
(
AllArgsTest
,
WorksInWithClause
)
{
...
...
@@ -2384,7 +2391,7 @@ TEST(PointeeTest, CanExplainMatchResult) {
// An uncopyable class.
class
Uncopyable
{
public:
explicit
Uncopyable
(
int
value
)
:
value_
(
value
)
{}
explicit
Uncopyable
(
int
a_
value
)
:
value_
(
a_
value
)
{}
int
value
()
const
{
return
value_
;
}
private:
...
...
@@ -2405,11 +2412,17 @@ struct AStruct {
const
double
y
;
// A const field.
Uncopyable
z
;
// An uncopyable field.
const
char
*
p
;
// A pointer field.
private:
GTEST_DISALLOW_ASSIGN_
(
AStruct
);
};
// A derived struct for testing Field().
struct
DerivedStruct
:
public
AStruct
{
char
ch
;
private:
GTEST_DISALLOW_ASSIGN_
(
DerivedStruct
);
};
// Tests that Field(&Foo::field, ...) works when field is non-const.
...
...
@@ -2943,7 +2956,7 @@ TEST(ResultOfTest, WorksForReferencingCallables) {
class
DivisibleByImpl
{
public:
explicit
DivisibleByImpl
(
int
divider
)
:
divider_
(
divider
)
{}
explicit
DivisibleByImpl
(
int
a_
divider
)
:
divider_
(
a_
divider
)
{}
template
<
typename
T
>
bool
Matches
(
const
T
&
n
)
const
{
...
...
@@ -2958,7 +2971,7 @@ class DivisibleByImpl {
*
os
<<
"is not divisible by "
<<
divider_
;
}
void
set_divider
(
int
divider
)
{
divider_
=
divider
;
}
void
set_divider
(
int
a_
divider
)
{
divider_
=
a_
divider
;
}
int
divider
()
const
{
return
divider_
;
}
private:
...
...
@@ -3021,7 +3034,7 @@ TEST(ExplainmatcherResultTest, MonomorphicMatcher) {
class
NotCopyable
{
public:
explicit
NotCopyable
(
int
value
)
:
value_
(
value
)
{}
explicit
NotCopyable
(
int
a_
value
)
:
value_
(
a_
value
)
{}
int
value
()
const
{
return
value_
;
}
...
...
test/gmock-more-actions_test.cc
View file @
32de5f53
...
...
@@ -65,6 +65,10 @@ using testing::Unused;
using
testing
::
WithArg
;
using
testing
::
WithoutArgs
;
// For suppressing compiler warnings on conversion possibly losing precision.
inline
short
Short
(
short
n
)
{
return
n
;
}
// NOLINT
inline
char
Char
(
char
ch
)
{
return
ch
;
}
// Sample functions and functors for testing Invoke() and etc.
int
Nullary
()
{
return
1
;
}
...
...
@@ -85,7 +89,7 @@ bool Unary(int x) { return x < 0; }
const
char
*
Plus1
(
const
char
*
s
)
{
return
s
+
1
;
}
void
VoidUnary
(
int
n
)
{
g_done
=
true
;
}
void
VoidUnary
(
int
/* n */
)
{
g_done
=
true
;
}
bool
ByConstRef
(
const
string
&
s
)
{
return
s
==
"Hi"
;
}
...
...
@@ -239,13 +243,13 @@ TEST(InvokeTest, Unary) {
TEST
(
InvokeTest
,
Binary
)
{
Action
<
const
char
*
(
const
char
*
,
short
)
>
a
=
Invoke
(
Binary
);
// NOLINT
const
char
*
p
=
"Hello"
;
EXPECT_EQ
(
p
+
2
,
a
.
Perform
(
make_tuple
(
p
,
2
)));
EXPECT_EQ
(
p
+
2
,
a
.
Perform
(
make_tuple
(
p
,
Short
(
2
)
)));
}
// Tests using Invoke() with a ternary function.
TEST
(
InvokeTest
,
Ternary
)
{
Action
<
int
(
int
,
char
,
short
)
>
a
=
Invoke
(
Ternary
);
// NOLINT
EXPECT_EQ
(
6
,
a
.
Perform
(
make_tuple
(
1
,
'\2'
,
3
)));
EXPECT_EQ
(
6
,
a
.
Perform
(
make_tuple
(
1
,
'\2'
,
Short
(
3
)
)));
}
// Tests using Invoke() with a 4-argument function.
...
...
@@ -340,14 +344,14 @@ TEST(InvokeTest, MethodWithUnusedParameters) {
// Tests using Invoke() with a functor.
TEST
(
InvokeTest
,
Functor
)
{
Action
<
int
(
short
,
char
)
>
a
=
Invoke
(
plus
<
short
>
());
// NOLINT
EXPECT_EQ
(
3
,
a
.
Perform
(
make_tuple
(
1
,
2
)));
Action
<
long
(
long
,
int
)
>
a
=
Invoke
(
plus
<
long
>
());
// NOLINT
EXPECT_EQ
(
3
L
,
a
.
Perform
(
make_tuple
(
1
,
2
)));
}
// Tests using Invoke(f) as an action of a compatible type.
TEST
(
InvokeTest
,
FunctionWithCompatibleType
)
{
Action
<
long
(
int
,
short
,
char
,
bool
)
>
a
=
Invoke
(
SumOf4
);
// NOLINT
EXPECT_EQ
(
4321
,
a
.
Perform
(
make_tuple
(
4000
,
300
,
20
,
true
)));
EXPECT_EQ
(
4321
,
a
.
Perform
(
make_tuple
(
4000
,
Short
(
300
)
,
Char
(
20
)
,
true
)));
}
// Tests using Invoke() with an object pointer and a method pointer.
...
...
@@ -378,7 +382,7 @@ TEST(InvokeMethodTest, Binary) {
TEST
(
InvokeMethodTest
,
Ternary
)
{
Foo
foo
;
Action
<
int
(
int
,
bool
,
char
)
>
a
=
Invoke
(
&
foo
,
&
Foo
::
Ternary
);
// NOLINT
EXPECT_EQ
(
1124
,
a
.
Perform
(
make_tuple
(
1000
,
true
,
1
)));
EXPECT_EQ
(
1124
,
a
.
Perform
(
make_tuple
(
1000
,
true
,
Char
(
1
)
)));
}
// Tests using Invoke() with a 4-argument method.
...
...
@@ -457,7 +461,7 @@ TEST(InvokeMethodTest, MethodWithCompatibleType) {
Foo
foo
;
Action
<
long
(
int
,
short
,
char
,
bool
)
>
a
=
// NOLINT
Invoke
(
&
foo
,
&
Foo
::
SumOf4
);
EXPECT_EQ
(
4444
,
a
.
Perform
(
make_tuple
(
4000
,
300
,
20
,
true
)));
EXPECT_EQ
(
4444
,
a
.
Perform
(
make_tuple
(
4000
,
Short
(
300
)
,
Char
(
20
)
,
true
)));
}
// Tests using WithoutArgs with an action that takes no argument.
...
...
test/gmock-nice-strict_test.cc
View file @
32de5f53
...
...
@@ -40,7 +40,12 @@
// clash with ::testing::Mock.
class
Mock
{
public:
Mock
()
{}
MOCK_METHOD0
(
DoThis
,
void
());
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
Mock
);
};
namespace
testing
{
...
...
@@ -64,10 +69,14 @@ class Foo {
class
MockFoo
:
public
Foo
{
public:
MockFoo
()
{}
void
Delete
()
{
delete
this
;
}
MOCK_METHOD0
(
DoThis
,
void
());
MOCK_METHOD1
(
DoThat
,
int
(
bool
flag
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockFoo
);
};
class
MockBar
{
...
...
@@ -89,6 +98,8 @@ class MockBar {
private:
string
str_
;
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockBar
);
};
// TODO(wan@google.com): find a way to re-enable these tests.
...
...
test/gmock-port_test.cc
View file @
32de5f53
...
...
@@ -85,7 +85,7 @@ class Castable {
}
private:
bool
*
const
converted_
;
bool
*
converted_
;
};
TEST
(
ImplicitCastTest
,
CanUseNonConstCastOperator
)
{
...
...
@@ -104,7 +104,7 @@ class ConstCastable {
}
private:
bool
*
const
converted_
;
bool
*
converted_
;
};
TEST
(
ImplicitCastTest
,
CanUseConstCastOperatorOnConstValues
)
{
...
...
@@ -128,8 +128,8 @@ class ConstAndNonConstCastable {
}
private:
bool
*
const
converted_
;
bool
*
const
const_converted_
;
bool
*
converted_
;
bool
*
const_converted_
;
};
TEST
(
ImplicitCastTest
,
CanSelectBetweenConstAndNonConstCasrAppropriately
)
{
...
...
test/gmock-printers_test.cc
View file @
32de5f53
...
...
@@ -77,7 +77,7 @@ class StreamableInGlobal {
virtual
~
StreamableInGlobal
()
{}
};
inline
void
operator
<<
(
::
std
::
ostream
&
os
,
const
StreamableInGlobal
&
x
)
{
inline
void
operator
<<
(
::
std
::
ostream
&
os
,
const
StreamableInGlobal
&
/* x */
)
{
os
<<
"StreamableInGlobal"
;
}
...
...
@@ -107,7 +107,7 @@ void PrintTo(const PrintableViaPrintTo& x, ::std::ostream* os) {
template
<
typename
T
>
class
PrintableViaPrintToTemplate
{
public:
explicit
PrintableViaPrintToTemplate
(
const
T
&
value
)
:
value_
(
value
)
{}
explicit
PrintableViaPrintToTemplate
(
const
T
&
a_
value
)
:
value_
(
a_
value
)
{}
const
T
&
value
()
const
{
return
value_
;
}
private:
...
...
@@ -440,7 +440,7 @@ TEST(PrintPointerToPointerTest, IntPointerPointer) {
// Tests printing (non-member) function pointers.
void
MyFunction
(
int
n
)
{}
void
MyFunction
(
int
/* n */
)
{}
TEST
(
PrintPointerTest
,
NonMemberFunctionPointer
)
{
// We cannot directly cast &MyFunction to const void* because the
...
...
@@ -464,7 +464,7 @@ struct Foo {
public:
virtual
~
Foo
()
{}
int
MyMethod
(
char
x
)
{
return
x
+
1
;
}
virtual
char
MyVirtualMethod
(
int
n
)
{
return
'a'
;
}
virtual
char
MyVirtualMethod
(
int
/* n */
)
{
return
'a'
;
}
int
value
;
};
...
...
@@ -603,7 +603,7 @@ class AllowsGenericStreaming {};
template
<
typename
Char
,
typename
CharTraits
>
std
::
basic_ostream
<
Char
,
CharTraits
>&
operator
<<
(
std
::
basic_ostream
<
Char
,
CharTraits
>&
os
,
const
AllowsGenericStreaming
&
a
)
{
const
AllowsGenericStreaming
&
/* a */
)
{
return
os
<<
"AllowsGenericStreaming"
;
}
...
...
@@ -620,7 +620,7 @@ class AllowsGenericStreamingTemplate {};
template
<
typename
Char
,
typename
CharTraits
,
typename
T
>
std
::
basic_ostream
<
Char
,
CharTraits
>&
operator
<<
(
std
::
basic_ostream
<
Char
,
CharTraits
>&
os
,
const
AllowsGenericStreamingTemplate
<
T
>&
a
)
{
const
AllowsGenericStreamingTemplate
<
T
>&
/* a */
)
{
return
os
<<
"AllowsGenericStreamingTemplate"
;
}
...
...
@@ -641,7 +641,7 @@ class AllowsGenericStreamingAndImplicitConversionTemplate {
template
<
typename
Char
,
typename
CharTraits
,
typename
T
>
std
::
basic_ostream
<
Char
,
CharTraits
>&
operator
<<
(
std
::
basic_ostream
<
Char
,
CharTraits
>&
os
,
const
AllowsGenericStreamingAndImplicitConversionTemplate
<
T
>&
a
)
{
const
AllowsGenericStreamingAndImplicitConversionTemplate
<
T
>&
/* a */
)
{
return
os
<<
"AllowsGenericStreamingAndImplicitConversionTemplate"
;
}
...
...
test/gmock-spec-builders_test.cc
View file @
32de5f53
...
...
@@ -97,16 +97,26 @@ class Result {};
class
MockA
{
public:
MockA
()
{}
MOCK_METHOD1
(
DoA
,
void
(
int
n
));
// NOLINT
MOCK_METHOD1
(
ReturnResult
,
Result
(
int
n
));
// NOLINT
MOCK_METHOD2
(
Binary
,
bool
(
int
x
,
int
y
));
// NOLINT
MOCK_METHOD2
(
ReturnInt
,
int
(
int
x
,
int
y
));
// NOLINT
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockA
);
};
class
MockB
{
public:
MockB
()
{}
MOCK_CONST_METHOD0
(
DoB
,
int
());
// NOLINT
MOCK_METHOD1
(
DoB
,
int
(
int
n
));
// NOLINT
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockB
);
};
// Tests that EXPECT_CALL and ON_CALL compile in a presence of macro
...
...
@@ -123,7 +133,12 @@ class CC {
};
class
MockCC
:
public
CC
{
public:
MockCC
()
{}
MOCK_METHOD0
(
Method
,
int
());
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockCC
);
};
// Tests that a method with expanded name compiles.
...
...
@@ -1617,8 +1632,19 @@ TEST(DeletingMockEarlyTest, Success2) {
// Tests that it's OK to delete a mock object itself in its action.
// Suppresses warning on unreferenced formal parameter in MSVC with
// -W4.
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4100)
#endif
ACTION_P
(
Delete
,
ptr
)
{
delete
ptr
;
}
#ifdef _MSC_VER
#pragma warning(pop)
#endif
TEST
(
DeletingMockEarlyTest
,
CanDeleteSelfInActionReturningVoid
)
{
MockA
*
const
a
=
new
MockA
;
EXPECT_CALL
(
*
a
,
DoA
(
_
)).
WillOnce
(
Delete
(
a
));
...
...
@@ -1691,7 +1717,9 @@ class EvenNumberCardinality : public CardinalityInterface {
}
// Returns true iff call_count calls will saturate this cardinality.
virtual
bool
IsSaturatedByCallCount
(
int
call_count
)
const
{
return
false
;
}
virtual
bool
IsSaturatedByCallCount
(
int
/* call_count */
)
const
{
return
false
;
}
// Describes self to an ostream.
virtual
void
DescribeTo
(
::
std
::
ostream
*
os
)
const
{
...
...
@@ -1740,9 +1768,14 @@ struct Unprintable {
class
MockC
{
public:
MockC
()
{}
MOCK_METHOD6
(
VoidMethod
,
void
(
bool
cond
,
int
n
,
string
s
,
void
*
p
,
const
Printable
&
x
,
Unprintable
y
));
MOCK_METHOD0
(
NonVoidMethod
,
int
());
// NOLINT
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockC
);
};
// TODO(wan@google.com): find a way to re-enable these tests.
...
...
@@ -1935,7 +1968,12 @@ void PrintTo(PrintMeNot /* dummy */, ::std::ostream* /* os */) {
class
LogTestHelper
{
public:
LogTestHelper
()
{}
MOCK_METHOD1
(
Foo
,
PrintMeNot
(
PrintMeNot
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
LogTestHelper
);
};
class
GMockLogTest
:
public
::
testing
::
Test
{
...
...
test/gmock_leak_test_.cc
View file @
32de5f53
...
...
@@ -48,7 +48,12 @@ class FooInterface {
class
MockFoo
:
public
FooInterface
{
public:
MockFoo
()
{}
MOCK_METHOD0
(
DoThis
,
void
());
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockFoo
);
};
TEST
(
LeakTest
,
LeakedMockWithExpectCallCausesFailureWhenLeakCheckingIsEnabled
)
{
...
...
test/gmock_link_test.h
View file @
32de5f53
...
...
@@ -206,6 +206,8 @@ class Interface {
class
Mock
:
public
Interface
{
public:
Mock
()
{}
MOCK_METHOD1
(
VoidFromString
,
void
(
char
*
str
));
MOCK_METHOD1
(
StringFromString
,
char
*
(
char
*
str
));
MOCK_METHOD1
(
IntFromString
,
int
(
char
*
str
));
...
...
@@ -215,6 +217,9 @@ class Mock: public Interface {
MOCK_METHOD1
(
VoidFromFloat
,
void
(
float
n
));
MOCK_METHOD1
(
VoidFromDouble
,
void
(
double
n
));
MOCK_METHOD1
(
VoidFromVector
,
void
(
const
std
::
vector
<
int
>&
v
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
Mock
);
};
class
InvokeHelper
{
...
...
@@ -229,7 +234,7 @@ class InvokeHelper {
class
FieldHelper
{
public:
FieldHelper
(
int
field
)
:
field_
(
field
)
{}
FieldHelper
(
int
a_
field
)
:
field_
(
a_
field
)
{}
int
field
()
const
{
return
field_
;
}
int
field_
;
// NOLINT -- need external access to field_ to test
// the Field matcher.
...
...
@@ -410,6 +415,16 @@ TEST(LinkTest, TestThrow) {
}
#endif // GTEST_HAS_EXCEPTIONS
// The ACTION*() macros trigger warning C4100 (unreferenced formal
// parameter) in MSVC with -W4. Unfortunately they cannot be fixed in
// the macro definition, as the warnings are generated when the macro
// is expanded and macro expansion cannot contain #pragma. Therefore
// we suppress them here.
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4100)
#endif
// Tests the linkage of actions created using ACTION macro.
namespace
{
ACTION
(
Return1
)
{
return
1
;
}
...
...
@@ -441,6 +456,10 @@ ACTION_P2(ReturnEqualsEitherOf, first, second) {
}
}
#ifdef _MSC_VER
#pragma warning(pop)
#endif
TEST
(
LinkTest
,
TestActionP2Macro
)
{
Mock
mock
;
char
ch
=
'x'
;
...
...
test/gmock_output_test_.cc
View file @
32de5f53
...
...
@@ -49,9 +49,14 @@ using testing::Sequence;
class
MockFoo
{
public:
MockFoo
()
{}
MOCK_METHOD3
(
Bar
,
char
(
const
std
::
string
&
s
,
int
i
,
double
x
));
MOCK_METHOD2
(
Bar2
,
bool
(
int
x
,
int
y
));
MOCK_METHOD2
(
Bar3
,
void
(
int
x
,
int
y
));
private:
GTEST_DISALLOW_COPY_AND_ASSIGN_
(
MockFoo
);
};
class
GMockOutputTest
:
public
testing
::
Test
{
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment