Changes for 1.7.0:
- All new improvements in Google Test 1.7.0.
- New feature: matchers DoubleNear(), FloatNear(),
NanSensitiveDoubleNear(), NanSensitiveFloatNear(),
UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(),
WhenSortedBy(), IsEmpty(), and SizeIs().
- Improvement: Google Mock can now be built as a DLL.
- Improvement: when compiled by a C++11 compiler, matchers AllOf()
and AnyOf() can accept an arbitrary number of matchers.
- Improvement: when compiled by a C++11 compiler, matchers
ElementsAreArray() can accept an initializer list.
- Improvement: when exceptions are enabled, a mock method with no
default action now throws instead crashing the test.
- Improvement: added class testing::StringMatchResultListener to aid
definition of composite matchers.
- Improvement: function return types used in MOCK_METHOD*() macros can
now contain unprotected commas.
- Improvement (potentially breaking): EXPECT_THAT() and ASSERT_THAT()
are now more strict in ensuring that the value type and the matcher
type are compatible, catching potential bugs in tests.
- Improvement: Pointee() now works on an optional<T>.
- Improvement: the ElementsAreArray() matcher can now take a vector or
iterator range as input, and makes a copy of its input elements
before the conversion to a Matcher.
- Improvement: the Google Mock Generator can now generate mocks for
some class templates.
- Bug fix: mock object destruction triggerred by another mock object's
destruction no longer hangs.
- Improvement: Google Mock Doctor works better with newer Clang and
GCC now.
- Compatibility fixes.
- Bug/warning fixes.
Changes for 1.6.0:
- Compilation is much faster and uses much less memory, especially
when the constructor and destructor of a mock class are moved out of
the class body.
- New matchers: Pointwise(), Each().
- New actions: ReturnPointee() and ReturnRefOfCopy().
- CMake support.
- Project files for Visual Studio 2010.
- AllOf() and AnyOf() can handle up-to 10 arguments now.
- Google Mock doctor understands Clang error messages now.
- SetArgPointee<> now accepts string literals.
- gmock_gen.py handles storage specifier macros and template return
types now.
- Compatibility fixes.
- Bug fixes and implementation clean-ups.
- Potentially incompatible changes: disables the harmful 'make install'
command in autotools.
Potentially breaking changes:
- The description string for MATCHER*() changes from Python-style
interpolation to an ordinary C++ string expression.
- SetArgumentPointee is deprecated in favor of SetArgPointee.
- Some non-essential project files for Visual Studio 2005 are removed.
Changes for 1.5.0:
- New feature: Google Mock can be safely used in multi-threaded tests
on platforms having pthreads.
- New feature: function for printing a value of arbitrary type.
- New feature: function ExplainMatchResult() for easy definition of
composite matchers.
- The new matcher API lets user-defined matchers generate custom
explanations more directly and efficiently.
- Better failure messages all around.
- NotNull() and IsNull() now work with smart pointers.
- Field() and Property() now work when the matcher argument is a pointer
passed by reference.
- Regular expression matchers on all platforms.
- Added GCC 4.0 support for Google Mock Doctor.
- Added gmock_all_test.cc for compiling most Google Mock tests
in a single file.
- Significantly cleaned up compiler warnings.
Bug fixes, better test coverage, and implementation clean-ups.
Potentially breaking changes:
Custom matchers defined using MatcherInterface or MakePolymorphicMatcher()
need to be updated after upgrading to Google Mock 1.5.0; matchers defined
using MATCHER or MATCHER_P* aren't affected.
- Dropped support for 'make install'.
Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of
Google Test):
- Works in more environments: Symbian and minGW, Visual C++ 7.1.
- Lighter weight: comes with our own implementation of TR1 tuple (no
more dependency on Boost!).
- New feature: --gmock_catch_leaked_mocks for detecting leaked mocks.
- New feature: ACTION_TEMPLATE for defining templatized actions.
- New feature: the .After() clause for specifying expectation order.
- New feature: the .With() clause for for specifying inter-argument
constraints.
- New feature: actions ReturnArg<k>(), ReturnNew<T>(...), and
DeleteArg<k>().
- New feature: matchers Key(), Pair(), Args<...>(), AllArgs(), IsNull(),
and Contains().
- New feature: utility class MockFunction<F>, useful for checkpoints, etc.
- New feature: functions Value(x, m) and SafeMatcherCast<T>(m).
- New feature: copying a mock object is rejected at compile time.
- New feature: a script for fusing all Google Mock and Google Test
source files for easy deployment.
- Improved the Google Mock doctor to diagnose more diseases.
- Improved the Google Mock generator script.
- Compatibility fixes for Mac OS X and gcc.
- Bug fixes and implementation clean-ups.
Changes for 1.1.0:
- New feature: ability to use Google Mock with any testing framework.
- New feature: macros for easily defining new matchers
- New feature: macros for easily defining new actions.
- New feature: more container matchers.
- New feature: actions for accessing function arguments and throwing
exceptions.
- Improved the Google Mock doctor script for diagnosing compiler errors.
- Bug fixes and implementation clean-ups.
Changes for 1.0.0:
- Initial Open Source release of Google Mock