44 Commits

Author SHA1 Message Date
Abseil Team
2954cb8d87 Add example using EXPECT statement in custom matcher
`EXPECT_...` statements can be used inside matcher definitions – this is an important option that is glossed over in this documentation. Users should definitely be aware of this option, since writing custom messages to the `result_listener` can be very cumbersome (and unnecessary) sometimes.

This change adds a relevant example and includes the associated error message it provides on failure.

PiperOrigin-RevId: 630206661
Change-Id: Idee00ba77ce3c1245597aa082f9cd0efff16aceb
2024-05-02 16:07:12 -07:00
Dino Radakovic
beb552fb47 gmock_cook_book: Document DoAll's return type requirement
The requirement is vaguely  documented by "Only the return value of the last action in the sequence will be used.".
However, this can be misleading, as users could potentially expect default-constructed values to be returned in absence of a matching return type.

PiperOrigin-RevId: 570450839
Change-Id: Ibd98a6e6b2aaf2a8cfc15ed6aeab442526eab98e
2023-10-03 11:41:48 -07:00
Abseil Team
c875c4e224 Adjust includes to use <> instead of "", consistent with quickstart pages.
Right now, gtest documentation uses different #include syntax. The quickstart
pages (e.g., http://google.github.io/googletest/quickstart-bazel.html#create-and-run-a-binary) are checked in with `#include <gtest/gtest.h>` However, other
documentation (such as the primer) uses `#include "gtest/gtest.h"` (e.g.,
https://google.github.io/googletest/primer.html#writing-the-main-function).

PiperOrigin-RevId: 551878641
Change-Id: Iab93cc1da3ef4870a07b624071b75d6e9d3568c1
2023-07-28 09:51:41 -07:00
Anton Sosnin
f014396910
Fix typo in gmock_cook_book.md 2023-07-19 18:08:41 +03:00
Abseil Team
ec4fed9321 Update code examples in the gMock Cookbook following C++ best practices.
PiperOrigin-RevId: 542564354
Change-Id: Ia3307f13f845c662c88fb7303112f41ef8c56b28
2023-06-22 08:15:15 -07:00
Abseil Team
922e0b7d80 Update gMock Cookbook to reflect deprecation of testing::ByMove
PiperOrigin-RevId: 524868227
Change-Id: I702ede27570e3d3f06d534d6ccf8b39689105d07
2023-04-17 09:31:34 -07:00
Abseil Team
ec25eea8f8 Mention using MockFunction as a way to mock free functions.
PiperOrigin-RevId: 502901538
Change-Id: I0cf351b9ad1411ae9c45e09550c24e006a24e179
2023-01-18 09:43:56 -08:00
Abseil Team
5ab508a01f Fix a typo in the documentation for "Using Predicates as Matchers".
PiperOrigin-RevId: 496679950
Change-Id: I2842050902876231d49a142165bcbb88d737505d
2022-12-20 09:26:42 -08:00
Abseil Team
a4e0be898b Specify a name for a Property in a code example.
It is good practice to specify a name for the `testing::Property` matcher's use in diagnostics, and we should do so in our examples.

PiperOrigin-RevId: 496406309
Change-Id: Ibb4d1ba63771b5d6855442b91564027cda8ddaca
2022-12-19 08:28:01 -08:00
Abseil Team
41fe6be7d7 Fix a typo in the gMock sample code for Defining a Custom Matcher Class.
EXPECT_CALL doesn't seem to make much sense here. I think the intent was to use EXPECT_THAT instead.

PiperOrigin-RevId: 495427663
Change-Id: I39a16ea37282729d34017c6bcd331a60cedf1fbe
2022-12-14 15:06:09 -08:00
Abseil Team
e68764c147 This commit fixes a minor verb conjugation error in gmock_cook_book.md.
PiperOrigin-RevId: 490601453
Change-Id: I733b2ed8740b1c809dddb166a42993b869198469
2022-11-23 15:57:54 -08:00
Denis Hananein
834698cc9b Change MakeUnique -> std::make_unique in docs 2022-11-20 15:08:43 +01:00
Abseil Team
c29315dda4 Use UnorderedElementsAre in example about using matchers with maps
PiperOrigin-RevId: 473353707
Change-Id: Ief5bdbd2b8e28bac8f47be9aaeac4bb93875a793
2022-09-09 15:14:57 -07:00
Abseil Team
8b521aa43a gmock_cook_book.md: Delete superfluous statement from 2014.
PiperOrigin-RevId: 454677195
Change-Id: I7a1419e22d617db41a5c310bc6f6158ba4cec1ab
2022-06-13 12:51:26 -07:00
Aaron Jacobs
6386897feb gmock-actions: make OnceAction public.
So that it can be referenced in conversion operators for actions that need to
know the concrete return type.

PiperOrigin-RevId: 447889344
Change-Id: I643d3298bc8effd08741282a956c221f9d67d378
2022-05-10 20:08:51 -07:00
Abseil Team
8ded48c37b Rewrite "Testing a Certain Property of an Object" as "Defining a Custom Matcher Class", and fix the code examples.
PiperOrigin-RevId: 445252626
Change-Id: I9f038cb669d3da6743606343c2341fc59725d722
2022-04-28 14:41:49 -07:00
Abseil Team
1b2606425c Fix typo in GoogleMock Cookbook.
PiperOrigin-RevId: 413674665
Change-Id: I466f87348390f42434a70f183efdf0557be9dddd
2021-12-02 07:44:32 -08:00
Abseil Team
178cfacb24 Googletest export
add missing using ::testing::DoAll when DoAll used in example

PiperOrigin-RevId: 402416497
2021-10-13 12:28:13 -04:00
Christian Clauss
5b43f14be9
Fix typos discovered by codespell 2021-09-16 21:44:29 +02:00
theidexisted
088e6ed9a8
Simplify example code with c++11 2021-08-19 16:35:14 +08:00
Berke
f91723cb90 typo fix gmock_cook_book 2021-08-05 12:09:54 +03:00
Abseil Team
5f6a14c846 Googletest export
Create new Mocking Reference

PiperOrigin-RevId: 376951575
2021-06-02 17:55:01 -04:00
Abseil Team
d5d6ff940b Googletest export
Create Assertions Reference

PiperOrigin-RevId: 375824718
2021-06-02 17:54:45 -04:00
Abseil Team
aa9b44a186 Googletest export
Fix a comment in a code snippet.

PiperOrigin-RevId: 374504337
2021-05-19 13:10:13 -07:00
Abseil Team
eb6e9273dc Googletest export
Docs: Clarify that expectations must be set before mocks are exercised
PiperOrigin-RevId: 373644072
2021-05-18 13:48:14 -07:00
Abseil Team
065a0c8140 Googletest export
Clean up links to Matchers Reference

PiperOrigin-RevId: 370821457
2021-04-29 10:40:37 -04:00
Abseil Team
680a5aa337 Googletest export
Move matchers reference from cheat sheet into its own document

PiperOrigin-RevId: 370749693
2021-04-29 10:40:29 -04:00
Abseil Team
719fd2d36f Googletest export
Update the `DescribeTo` signature in the code example at the Writing New Polymorphic Matchers section in gmock_cook_book.

`os` should be a pointer to be consistent with the implementation, which dereference it as `*os`.

PiperOrigin-RevId: 370693387
2021-04-29 10:40:21 -04:00
Abseil Team
6a5eb80749 Googletest export
Update the example for Notify to use a lambda.
It is much less boilerplate and easier to remember.

PiperOrigin-RevId: 367284222
2021-04-07 23:39:39 -07:00
Abseil Team
c0dd0817cf Googletest export
Clarify explanation of mocking free functions

PiperOrigin-RevId: 364943561
2021-03-25 13:43:43 -07:00
Abseil Team
6dabd081e9 Googletest export
Code style cleanup in docs

PiperOrigin-RevId: 364907938
2021-03-25 13:43:28 -07:00
Abseil Team
d9c309fdab Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 358289110
2021-02-19 13:55:48 -05:00
Abseil Team
1a5a78b9a9 Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 357096486
2021-02-18 13:26:40 -05:00
Abseil Team
e935e6c387 Googletest export
Internal change

PiperOrigin-RevId: 356867746
2021-02-18 13:26:12 -05:00
Abseil Team
f3ef7e173f Googletest export
Fix table formatting in cookbook

PiperOrigin-RevId: 355659722
2021-02-05 10:41:32 -08:00
Abseil Team
b6323d216d Googletest export
Add a note to recommend against using `Property()` for functions that the test author does not own.

PiperOrigin-RevId: 355295183
2021-02-05 10:41:02 -08:00
Abseil Team
726118846d Googletest export
Document the fact that MatchAndExplain(T, MatchResultListener*) is supported.

PiperOrigin-RevId: 354172275
2021-02-05 10:39:39 -08:00
Abseil Team
273f8cb059 Googletest export
Add missing `is_gtest_matcher` to the polymorphic matcher example.

PiperOrigin-RevId: 353881883
2021-01-26 15:43:54 -05:00
Abseil Team
8a7618672a Googletest export
Delete internal tags from docs

PiperOrigin-RevId: 353769887
2021-01-26 15:43:46 -05:00
Abseil Team
14098f2015 Googletest export
Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/

PiperOrigin-RevId: 352558822
2021-01-26 15:42:13 -05:00
Abseil Team
d128fc8252 Googletest export
Fixes #3222, fixes #3225, closes #3223

PiperOrigin-RevId: 352066131
2021-01-15 15:54:03 -05:00
Abseil Team
a2f906be69 Googletest export
Add "using is_gtest_matcher = void" to the DivisibleBy7Matcher example.

PiperOrigin-RevId: 351797821
2021-01-15 15:53:22 -05:00
Abseil Team
c13c27a513 Googletest export
Change Matcher<T> to allow binding an implementation by value directly:
 - Drop the requirement of MatcherInterface. Doing manual type erasure avoid
   extra layers in many cases.
 - Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
 - Use a small object optimization when possible. This makes things like
   `_` and `Eq(1)` really cheap and do not require memory allocations.
 - Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.

PiperOrigin-RevId: 350580998
2021-01-13 20:59:20 -05:00
Abseil Team
489283524e Googletest export
Move all docs into top-level docs/ directory

PiperOrigin-RevId: 350211277
2021-01-13 20:59:12 -05:00