commit
e5b88b227e
|
@ -1029,9 +1029,10 @@ a value that satisfies matcher `m`.
|
|||
|
||||
For example:
|
||||
|
||||
> | `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| Expression | Description |
|
||||
|:-----------------------------|:-----------------------------------|
|
||||
> | `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
| `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
|
||||
Note that in `Property(&Foo::baz, ...)`, method `baz()` must take no
|
||||
argument and be declared as `const`.
|
||||
|
@ -1919,9 +1920,9 @@ using ::testing::_;
|
|||
// second argument DoThis() receives.
|
||||
```
|
||||
|
||||
Arghh, you need to refer to a mock function argument but C++ has no
|
||||
lambda (yet), so you have to define your own action. :-( Or do you
|
||||
really?
|
||||
Arghh, you need to refer to a mock function argument but your version
|
||||
of C++ has no lambdas, so you have to define your own action. :-(
|
||||
Or do you really?
|
||||
|
||||
Well, Google Mock has an action to solve _exactly_ this problem:
|
||||
|
||||
|
@ -2482,12 +2483,12 @@ MockFoo::~MockFoo() {}
|
|||
|
||||
## Forcing a Verification ##
|
||||
|
||||
When it's being destoyed, your friendly mock object will automatically
|
||||
When it's being destroyed, your friendly mock object will automatically
|
||||
verify that all expectations on it have been satisfied, and will
|
||||
generate [Google Test](../../googletest/) failures
|
||||
if not. This is convenient as it leaves you with one less thing to
|
||||
worry about. That is, unless you are not sure if your mock object will
|
||||
be destoyed.
|
||||
be destroyed.
|
||||
|
||||
How could it be that your mock object won't eventually be destroyed?
|
||||
Well, it might be created on the heap and owned by the code you are
|
||||
|
@ -3347,6 +3348,7 @@ For example, when using an `ACTION` as a stub action for mock function:
|
|||
int DoSomething(bool flag, int* ptr);
|
||||
```
|
||||
we have:
|
||||
|
||||
| **Pre-defined Symbol** | **Is Bound To** |
|
||||
|:-----------------------|:----------------|
|
||||
| `arg0` | the value of `flag` |
|
||||
|
@ -3508,6 +3510,7 @@ is asked to infer the type of `x`?
|
|||
If you are writing a function that returns an `ACTION` object, you'll
|
||||
need to know its type. The type depends on the macro used to define
|
||||
the action and the parameter types. The rule is relatively simple:
|
||||
|
||||
| **Given Definition** | **Expression** | **Has Type** |
|
||||
|:---------------------|:---------------|:-------------|
|
||||
| `ACTION(Foo)` | `Foo()` | `FooAction` |
|
||||
|
@ -3515,7 +3518,7 @@ the action and the parameter types. The rule is relatively simple:
|
|||
| `ACTION_P(Bar, param)` | `Bar(int_value)` | `BarActionP<int>` |
|
||||
| `ACTION_TEMPLATE(Bar, HAS_m_TEMPLATE_PARAMS(...), AND_1_VALUE_PARAMS(p1))` | `Bar<t1, ..., t_m>(int_value)` | `FooActionP<t1, ..., t_m, int>` |
|
||||
| `ACTION_P2(Baz, p1, p2)` | `Baz(bool_value, int_value)` | `BazActionP2<bool, int>` |
|
||||
| `ACTION_TEMPLATE(Baz, HAS_m_TEMPLATE_PARAMS(...), AND_2_VALUE_PARAMS(p1, p2))` | `Baz<t1, ..., t_m>(bool_value, int_value)` | `FooActionP2<t1, ..., t_m, bool, int>` |
|
||||
| `ACTION_TEMPLATE(Baz, HAS_m_TEMPLATE_PARAMS(...), AND_2_VALUE_PARAMS(p1, p2))`| `Baz<t1, ..., t_m>(bool_value, int_value)` | `FooActionP2<t1, ..., t_m, bool, int>` |
|
||||
| ... | ... | ... |
|
||||
|
||||
Note that we have to pick different suffixes (`Action`, `ActionP`,
|
||||
|
|
|
@ -1032,9 +1032,10 @@ a value that satisfies matcher `m`.
|
|||
|
||||
For example:
|
||||
|
||||
> | `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| Expression | Description |
|
||||
|:-----------------------------|:-----------------------------------|
|
||||
> | `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
| `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
|
||||
Note that in `Property(&Foo::baz, ...)`, method `baz()` must take no
|
||||
argument and be declared as `const`.
|
||||
|
@ -1772,9 +1773,9 @@ using ::testing::_;
|
|||
// second argument DoThis() receives.
|
||||
```
|
||||
|
||||
Arghh, you need to refer to a mock function argument but C++ has no
|
||||
lambda (yet), so you have to define your own action. :-( Or do you
|
||||
really?
|
||||
Arghh, you need to refer to a mock function argument but your version
|
||||
of C++ has no lambdas, so you have to define your own action. :-(
|
||||
Or do you really?
|
||||
|
||||
Well, Google Mock has an action to solve _exactly_ this problem:
|
||||
|
||||
|
@ -2080,12 +2081,12 @@ versus
|
|||
|
||||
## Forcing a Verification ##
|
||||
|
||||
When it's being destoyed, your friendly mock object will automatically
|
||||
When it's being destroyed, your friendly mock object will automatically
|
||||
verify that all expectations on it have been satisfied, and will
|
||||
generate [Google Test](http://code.google.com/p/googletest/) failures
|
||||
if not. This is convenient as it leaves you with one less thing to
|
||||
worry about. That is, unless you are not sure if your mock object will
|
||||
be destoyed.
|
||||
be destroyed.
|
||||
|
||||
How could it be that your mock object won't eventually be destroyed?
|
||||
Well, it might be created on the heap and owned by the code you are
|
||||
|
@ -2863,6 +2864,7 @@ For example, when using an `ACTION` as a stub action for mock function:
|
|||
int DoSomething(bool flag, int* ptr);
|
||||
```
|
||||
we have:
|
||||
|
||||
| **Pre-defined Symbol** | **Is Bound To** |
|
||||
|:-----------------------|:----------------|
|
||||
| `arg0` | the value of `flag` |
|
||||
|
@ -3024,6 +3026,7 @@ is asked to infer the type of `x`?
|
|||
If you are writing a function that returns an `ACTION` object, you'll
|
||||
need to know its type. The type depends on the macro used to define
|
||||
the action and the parameter types. The rule is relatively simple:
|
||||
|
||||
| **Given Definition** | **Expression** | **Has Type** |
|
||||
|:---------------------|:---------------|:-------------|
|
||||
| `ACTION(Foo)` | `Foo()` | `FooAction` |
|
||||
|
|
|
@ -1037,9 +1037,10 @@ a value that satisfies matcher `m`.
|
|||
|
||||
For example:
|
||||
|
||||
> | `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| Expression | Description |
|
||||
|:-----------------------------|:-----------------------------------|
|
||||
> | `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
| `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
|
||||
Note that in `Property(&Foo::baz, ...)`, method `baz()` must take no
|
||||
argument and be declared as `const`.
|
||||
|
@ -1840,9 +1841,9 @@ using ::testing::_;
|
|||
// second argument DoThis() receives.
|
||||
```
|
||||
|
||||
Arghh, you need to refer to a mock function argument but C++ has no
|
||||
lambda (yet), so you have to define your own action. :-( Or do you
|
||||
really?
|
||||
Arghh, you need to refer to a mock function argument but your version
|
||||
of C++ has no lambdas, so you have to define your own action. :-(
|
||||
Or do you really?
|
||||
|
||||
Well, Google Mock has an action to solve _exactly_ this problem:
|
||||
|
||||
|
@ -2211,12 +2212,12 @@ MockFoo::~MockFoo() {}
|
|||
|
||||
## Forcing a Verification ##
|
||||
|
||||
When it's being destoyed, your friendly mock object will automatically
|
||||
When it's being destroyed, your friendly mock object will automatically
|
||||
verify that all expectations on it have been satisfied, and will
|
||||
generate [Google Test](http://code.google.com/p/googletest/) failures
|
||||
if not. This is convenient as it leaves you with one less thing to
|
||||
worry about. That is, unless you are not sure if your mock object will
|
||||
be destoyed.
|
||||
be destroyed.
|
||||
|
||||
How could it be that your mock object won't eventually be destroyed?
|
||||
Well, it might be created on the heap and owned by the code you are
|
||||
|
@ -3014,6 +3015,7 @@ For example, when using an `ACTION` as a stub action for mock function:
|
|||
int DoSomething(bool flag, int* ptr);
|
||||
```
|
||||
we have:
|
||||
|
||||
| **Pre-defined Symbol** | **Is Bound To** |
|
||||
|:-----------------------|:----------------|
|
||||
| `arg0` | the value of `flag` |
|
||||
|
@ -3175,6 +3177,7 @@ is asked to infer the type of `x`?
|
|||
If you are writing a function that returns an `ACTION` object, you'll
|
||||
need to know its type. The type depends on the macro used to define
|
||||
the action and the parameter types. The rule is relatively simple:
|
||||
|
||||
| **Given Definition** | **Expression** | **Has Type** |
|
||||
|:---------------------|:---------------|:-------------|
|
||||
| `ACTION(Foo)` | `Foo()` | `FooAction` |
|
||||
|
|
|
@ -1030,9 +1030,10 @@ a value that satisfies matcher `m`.
|
|||
|
||||
For example:
|
||||
|
||||
> | `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| Expression | Description |
|
||||
|:-----------------------------|:-----------------------------------|
|
||||
> | `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
| `Field(&Foo::number, Ge(3))` | Matches `x` where `x.number >= 3`. |
|
||||
| `Property(&Foo::name, StartsWith("John "))` | Matches `x` where `x.name()` starts with `"John "`. |
|
||||
|
||||
Note that in `Property(&Foo::baz, ...)`, method `baz()` must take no
|
||||
argument and be declared as `const`.
|
||||
|
@ -1868,9 +1869,9 @@ using ::testing::_;
|
|||
// second argument DoThis() receives.
|
||||
```
|
||||
|
||||
Arghh, you need to refer to a mock function argument but C++ has no
|
||||
lambda (yet), so you have to define your own action. :-( Or do you
|
||||
really?
|
||||
Arghh, you need to refer to a mock function argument but your version
|
||||
of C++ has no lambdas, so you have to define your own action. :-(
|
||||
Or do you really?
|
||||
|
||||
Well, Google Mock has an action to solve _exactly_ this problem:
|
||||
|
||||
|
@ -2239,12 +2240,12 @@ MockFoo::~MockFoo() {}
|
|||
|
||||
## Forcing a Verification ##
|
||||
|
||||
When it's being destoyed, your friendly mock object will automatically
|
||||
When it's being destroyed, your friendly mock object will automatically
|
||||
verify that all expectations on it have been satisfied, and will
|
||||
generate [Google Test](http://code.google.com/p/googletest/) failures
|
||||
if not. This is convenient as it leaves you with one less thing to
|
||||
worry about. That is, unless you are not sure if your mock object will
|
||||
be destoyed.
|
||||
be destroyed.
|
||||
|
||||
How could it be that your mock object won't eventually be destroyed?
|
||||
Well, it might be created on the heap and owned by the code you are
|
||||
|
@ -3104,6 +3105,7 @@ For example, when using an `ACTION` as a stub action for mock function:
|
|||
int DoSomething(bool flag, int* ptr);
|
||||
```
|
||||
we have:
|
||||
|
||||
| **Pre-defined Symbol** | **Is Bound To** |
|
||||
|:-----------------------|:----------------|
|
||||
| `arg0` | the value of `flag` |
|
||||
|
@ -3265,6 +3267,7 @@ is asked to infer the type of `x`?
|
|||
If you are writing a function that returns an `ACTION` object, you'll
|
||||
need to know its type. The type depends on the macro used to define
|
||||
the action and the parameter types. The rule is relatively simple:
|
||||
|
||||
| **Given Definition** | **Expression** | **Has Type** |
|
||||
|:---------------------|:---------------|:-------------|
|
||||
| `ACTION(Foo)` | `Foo()` | `FooAction` |
|
||||
|
|
Loading…
Reference in New Issue
Block a user