Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 1 | Changes for 1.7.0: |
| 2 | |
| 3 | * All new improvements in Google Test 1.7.0. |
| 4 | * New feature: matchers DoubleNear(), FloatNear(), |
| 5 | NanSensitiveDoubleNear(), NanSensitiveFloatNear(), |
| 6 | UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(), |
| 7 | WhenSortedBy(), IsEmpty(), and SizeIs(). |
| 8 | * Improvement: Google Mock can now be built as a DLL. |
| 9 | * Improvement: when compiled by a C++11 compiler, matchers AllOf() |
| 10 | and AnyOf() can accept an arbitrary number of matchers. |
| 11 | * Improvement: when compiled by a C++11 compiler, matchers |
| 12 | ElementsAreArray() can accept an initializer list. |
| 13 | * Improvement: when exceptions are enabled, a mock method with no |
| 14 | default action now throws instead crashing the test. |
| 15 | * Improvement: added class testing::StringMatchResultListener to aid |
| 16 | definition of composite matchers. |
| 17 | * Improvement: function return types used in MOCK_METHOD*() macros can |
| 18 | now contain unprotected commas. |
| 19 | * Improvement (potentially breaking): EXPECT_THAT() and ASSERT_THAT() |
| 20 | are now more strict in ensuring that the value type and the matcher |
| 21 | type are compatible, catching potential bugs in tests. |
| 22 | * Improvement: Pointee() now works on an optional<T>. |
| 23 | * Improvement: the ElementsAreArray() matcher can now take a vector or |
| 24 | iterator range as input, and makes a copy of its input elements |
| 25 | before the conversion to a Matcher. |
| 26 | * Improvement: the Google Mock Generator can now generate mocks for |
| 27 | some class templates. |
| 28 | * Bug fix: mock object destruction triggerred by another mock object's |
| 29 | destruction no longer hangs. |
| 30 | * Improvement: Google Mock Doctor works better with newer Clang and |
| 31 | GCC now. |
| 32 | * Compatibility fixes. |
| 33 | * Bug/warning fixes. |
| 34 | |
| 35 | Changes for 1.6.0: |
| 36 | |
| 37 | * Compilation is much faster and uses much less memory, especially |
| 38 | when the constructor and destructor of a mock class are moved out of |
| 39 | the class body. |
| 40 | * New matchers: Pointwise(), Each(). |
| 41 | * New actions: ReturnPointee() and ReturnRefOfCopy(). |
| 42 | * CMake support. |
| 43 | * Project files for Visual Studio 2010. |
| 44 | * AllOf() and AnyOf() can handle up-to 10 arguments now. |
| 45 | * Google Mock doctor understands Clang error messages now. |
| 46 | * SetArgPointee<> now accepts string literals. |
| 47 | * gmock_gen.py handles storage specifier macros and template return |
| 48 | types now. |
| 49 | * Compatibility fixes. |
| 50 | * Bug fixes and implementation clean-ups. |
| 51 | * Potentially incompatible changes: disables the harmful 'make install' |
| 52 | command in autotools. |
| 53 | |
| 54 | Potentially breaking changes: |
| 55 | |
| 56 | * The description string for MATCHER*() changes from Python-style |
| 57 | interpolation to an ordinary C++ string expression. |
| 58 | * SetArgumentPointee is deprecated in favor of SetArgPointee. |
| 59 | * Some non-essential project files for Visual Studio 2005 are removed. |
| 60 | |
| 61 | Changes for 1.5.0: |
| 62 | |
| 63 | * New feature: Google Mock can be safely used in multi-threaded tests |
| 64 | on platforms having pthreads. |
| 65 | * New feature: function for printing a value of arbitrary type. |
| 66 | * New feature: function ExplainMatchResult() for easy definition of |
| 67 | composite matchers. |
| 68 | * The new matcher API lets user-defined matchers generate custom |
| 69 | explanations more directly and efficiently. |
| 70 | * Better failure messages all around. |
| 71 | * NotNull() and IsNull() now work with smart pointers. |
| 72 | * Field() and Property() now work when the matcher argument is a pointer |
| 73 | passed by reference. |
| 74 | * Regular expression matchers on all platforms. |
| 75 | * Added GCC 4.0 support for Google Mock Doctor. |
| 76 | * Added gmock_all_test.cc for compiling most Google Mock tests |
| 77 | in a single file. |
| 78 | * Significantly cleaned up compiler warnings. |
| 79 | * Bug fixes, better test coverage, and implementation clean-ups. |
| 80 | |
| 81 | Potentially breaking changes: |
| 82 | |
| 83 | * Custom matchers defined using MatcherInterface or MakePolymorphicMatcher() |
| 84 | need to be updated after upgrading to Google Mock 1.5.0; matchers defined |
| 85 | using MATCHER or MATCHER_P* aren't affected. |
| 86 | * Dropped support for 'make install'. |
| 87 | |
| 88 | Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of |
| 89 | Google Test): |
| 90 | |
| 91 | * Works in more environments: Symbian and minGW, Visual C++ 7.1. |
| 92 | * Lighter weight: comes with our own implementation of TR1 tuple (no |
| 93 | more dependency on Boost!). |
| 94 | * New feature: --gmock_catch_leaked_mocks for detecting leaked mocks. |
| 95 | * New feature: ACTION_TEMPLATE for defining templatized actions. |
| 96 | * New feature: the .After() clause for specifying expectation order. |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 97 | * New feature: the .With() clause for specifying inter-argument |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 98 | constraints. |
| 99 | * New feature: actions ReturnArg<k>(), ReturnNew<T>(...), and |
| 100 | DeleteArg<k>(). |
| 101 | * New feature: matchers Key(), Pair(), Args<...>(), AllArgs(), IsNull(), |
| 102 | and Contains(). |
| 103 | * New feature: utility class MockFunction<F>, useful for checkpoints, etc. |
| 104 | * New feature: functions Value(x, m) and SafeMatcherCast<T>(m). |
| 105 | * New feature: copying a mock object is rejected at compile time. |
| 106 | * New feature: a script for fusing all Google Mock and Google Test |
| 107 | source files for easy deployment. |
| 108 | * Improved the Google Mock doctor to diagnose more diseases. |
| 109 | * Improved the Google Mock generator script. |
| 110 | * Compatibility fixes for Mac OS X and gcc. |
| 111 | * Bug fixes and implementation clean-ups. |
| 112 | |
| 113 | Changes for 1.1.0: |
| 114 | |
| 115 | * New feature: ability to use Google Mock with any testing framework. |
| 116 | * New feature: macros for easily defining new matchers |
| 117 | * New feature: macros for easily defining new actions. |
| 118 | * New feature: more container matchers. |
| 119 | * New feature: actions for accessing function arguments and throwing |
| 120 | exceptions. |
| 121 | * Improved the Google Mock doctor script for diagnosing compiler errors. |
| 122 | * Bug fixes and implementation clean-ups. |
| 123 | |
| 124 | Changes for 1.0.0: |
| 125 | |
| 126 | * Initial Open Source release of Google Mock |