CHANGES revision 13481
1Changes 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 35Changes 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 54Potentially 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 61Changes 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 88Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of 89Google 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. 97 * New feature: the .With() clause for for specifying inter-argument 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 113Changes 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 124Changes for 1.0.0: 125 126 * Initial Open Source release of Google Mock 127