CHANGES revision 13481
113481Sgiacomo.travaglini@arm.comChanges for 1.7.0: 213481Sgiacomo.travaglini@arm.com 313481Sgiacomo.travaglini@arm.com* All new improvements in Google Test 1.7.0. 413481Sgiacomo.travaglini@arm.com* New feature: matchers DoubleNear(), FloatNear(), 513481Sgiacomo.travaglini@arm.com NanSensitiveDoubleNear(), NanSensitiveFloatNear(), 613481Sgiacomo.travaglini@arm.com UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(), 713481Sgiacomo.travaglini@arm.com WhenSortedBy(), IsEmpty(), and SizeIs(). 813481Sgiacomo.travaglini@arm.com* Improvement: Google Mock can now be built as a DLL. 913481Sgiacomo.travaglini@arm.com* Improvement: when compiled by a C++11 compiler, matchers AllOf() 1013481Sgiacomo.travaglini@arm.com and AnyOf() can accept an arbitrary number of matchers. 1113481Sgiacomo.travaglini@arm.com* Improvement: when compiled by a C++11 compiler, matchers 1213481Sgiacomo.travaglini@arm.com ElementsAreArray() can accept an initializer list. 1313481Sgiacomo.travaglini@arm.com* Improvement: when exceptions are enabled, a mock method with no 1413481Sgiacomo.travaglini@arm.com default action now throws instead crashing the test. 1513481Sgiacomo.travaglini@arm.com* Improvement: added class testing::StringMatchResultListener to aid 1613481Sgiacomo.travaglini@arm.com definition of composite matchers. 1713481Sgiacomo.travaglini@arm.com* Improvement: function return types used in MOCK_METHOD*() macros can 1813481Sgiacomo.travaglini@arm.com now contain unprotected commas. 1913481Sgiacomo.travaglini@arm.com* Improvement (potentially breaking): EXPECT_THAT() and ASSERT_THAT() 2013481Sgiacomo.travaglini@arm.com are now more strict in ensuring that the value type and the matcher 2113481Sgiacomo.travaglini@arm.com type are compatible, catching potential bugs in tests. 2213481Sgiacomo.travaglini@arm.com* Improvement: Pointee() now works on an optional<T>. 2313481Sgiacomo.travaglini@arm.com* Improvement: the ElementsAreArray() matcher can now take a vector or 2413481Sgiacomo.travaglini@arm.com iterator range as input, and makes a copy of its input elements 2513481Sgiacomo.travaglini@arm.com before the conversion to a Matcher. 2613481Sgiacomo.travaglini@arm.com* Improvement: the Google Mock Generator can now generate mocks for 2713481Sgiacomo.travaglini@arm.com some class templates. 2813481Sgiacomo.travaglini@arm.com* Bug fix: mock object destruction triggerred by another mock object's 2913481Sgiacomo.travaglini@arm.com destruction no longer hangs. 3013481Sgiacomo.travaglini@arm.com* Improvement: Google Mock Doctor works better with newer Clang and 3113481Sgiacomo.travaglini@arm.com GCC now. 3213481Sgiacomo.travaglini@arm.com* Compatibility fixes. 3313481Sgiacomo.travaglini@arm.com* Bug/warning fixes. 3413481Sgiacomo.travaglini@arm.com 3513481Sgiacomo.travaglini@arm.comChanges for 1.6.0: 3613481Sgiacomo.travaglini@arm.com 3713481Sgiacomo.travaglini@arm.com* Compilation is much faster and uses much less memory, especially 3813481Sgiacomo.travaglini@arm.com when the constructor and destructor of a mock class are moved out of 3913481Sgiacomo.travaglini@arm.com the class body. 4013481Sgiacomo.travaglini@arm.com* 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