ChangeLog for PHPUnit 3.7

sebastianbergmann edited this page Nov 11, 2014 · 4 revisions

Changes in PHPUnit

PHPUnit 3.7.38

  • Fixed #1472: assertEqualXMLStructure() modifies the tested elements

PHPUnit 3.7.37

  • Fixed #1193: Problem with "headers already sent" in isolated tests when using PHPUnit from PHAR

PHPUnit 3.7.36

  • Fixed #1143: The state in mocked static objects is not cleaned up when an exception is caught by PHPUnit
  • Fixed #1231: Version information is printed to stdout instead of stderr when --stderr is used

PHPUnit 3.7.35

  • PHPUnit now prints a message that the PEAR installation method is no longer supported

PHPUnit 3.7.34

  • New release of PHPUnit with updated Composer dependencies

PHPUnit 3.7.33

  • Fixed #1159: @require annotation does not work with \r\n line ending

PHPUnit 3.7.32

PHPUnit 3.7.31

  • New release of PHPUnit as PHAR with updated dependencies

PHPUnit 3.7.30

  • Fixed #1125: Prevent side effect when using PHPUnit_Framework_Constraint_Count on Iterator instances
  • Upgraded bundled version of PHP_CodeCoverage in the PHP Archive (PHAR) distribution of PHPUnit
  • Upgraded bundled version of Text_Template in the PHP Archive (PHAR) distribution of PHPUnit

PHPUnit 3.7.29

  • Fixed #748: Fatal error in JSON test listener when markTestSkipped() is used in setUpBeforeClass()
  • Fixed #1031: Warning when mbstring.func_overload is enabled
  • Fixed #1048: Implementation of PHPUnit_Framework_Constraint_ArrayHasKey is incompatible with HHVM
  • Fixed #1051: Implementation of PHPUnit_Util_PHP is incompatible with HHVM

PHPUnit 3.7.28

  • Fixed #1004: Stubbing/Mocking does not work in process isolation when using PHPUnit PHAR
  • Fixed #1021: Backtrace on Windows (phar) not being filtered properly

PHPUnit 3.7.27

  • Fixed #999: phpunit.phar is missing resources (such as templates)

PHPUnit 3.7.26

  • Upgraded bundled version of PHP_TokenStream in the PHP Archive (PHAR) distribution of PHPUnit.

PHPUnit 3.7.25

  • Upgraded bundled versions of PHP_CodeCoverage and PHPUnit_Selenium in the PHP Archive (PHAR) distribution of PHPUnit.

PHPUnit 3.7.24

  • Fixed #982: Process Isolation does not work when using PHPUnit from a PHP Archive (PHAR)

PHPUnit 3.7.23

  • Dependencies updated to latest version in PHP Archive (PHAR) distribution.

PHPUnit 3.7.22

  • Fixed #948: Do not die on binary output with JSON logging.
  • Implemented a workaround for PHP bug #63055.
  • It is now possible to use generators as data providers.

PHPUnit 3.7.21

  • Fixed #277: Account for auto-globals-jit when setting $_ENV and $_SERVER variables in the xml config.
  • Fixed #924: PHPUnit depends on packages that broke backwards compatibility.

PHPUnit 3.7.20

  • Fixed #883: Stand-alone functions logicalAnd(), logicalOr(), and logicalXor() did not work.
  • Fixed #889: Suppress open_basedir warnings while searching for the composer autoloader.
  • Fixed #890: Correctly parse single-line @expectedException annotations.
  • Fixed #891: Better messages when JSON-related assertions receive invalid JSON.
  • Fixed #896: Use the proper toString() method inside PHPUnit_Framework_TestFailure::toString().
  • Fixed #902: Allow symfony/yaml >=2.0,<3.0
  • Fixed #908: Don't rely on composer to set up the include_path for ErrorHandler.php.

PHPUnit 3.7.19

  • Fixed #763: assertTag() fails to match content in CDATA sections.
  • Fixed #860: Version requirement for symfony/yaml is too restrictive.
  • Fixed #863: Number of tests to run calculated incorrectly when --repeat is used.

PHPUnit 3.7.18

  • Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.

PHPUnit 3.7.17

  • Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.

PHPUnit 3.7.16

  • Make sure the autoloader for PEAR-based installation is not used when PHPUnit is installed via Composer.

PHPUnit 3.7.15

  • Fixed #823: Process isolation not working on windows if there are spaces in path to php.exe
  • Fixed #830: PHP notice in PHPUnit_Util_XML

PHPUnit 3.7.14

  • Fixed #751: NaN is not equal to NaN now to match PHPs behavior
  • Fixed #796 in #799: Mocking a method with a reference to an object made argument matches fail.

PHPUnit 3.7.13

  • Fixed #710: Ensure isolation tests display errors so they can be handled by the test runner.
  • Fixed sebastianbergmann/phpunit-mock-objects#81.
  • Fixed an issue where PHP complained about an undeclared $time variable when running tests in strict mode.

PHPUnit 3.7.12

  • Fixed version number.

PHPUnit 3.7.11

  • Fixed installation issue for Symfony/Yaml.

PHPUnit 3.7.10

  • Fixed #709: assertJsonStringEqualsJsonFile didn't work with json arrays.
  • Fixed #734: phpunit.phar cannot be executed if it is renamed.
  • Fixed error message when assertArrayHasKey() and assertArrayNotHasKey() are invoked with wrong arguments.

PHPUnit 3.7.9

  • Fixed #708: JSON matcher source files missing from package.xml.

PHPUnit 3.7.8

  • Fixed #688: Invoke autoloader when checking for Symfony\Component\Yaml\Dumper.

PHPUnit 3.7.7

  • Added missing file to PEAR package.

PHPUnit 3.7.6

  • Fixed #682: phpunit script appears in stacktrace (when PHPUnit is installed through Composer).

PHPUnit 3.7.5

  • PHPUnit now uses $_SERVER['SCRIPT_NAME'] instead of $_SERVER['_'] to filter the phpunit script (as the latter is not set when PHPUnit is invoked from Apache Ant's <exec> task, for instance).

PHPUnit 3.7.4

  • Fixed #682: phpunit script appears in stacktrace.

PHPUnit 3.7.3

  • Improvements to running PHPUnit from a PHAR.

PHPUnit 3.7.2

  • Implemented #656: Always clean up mock objects (and free up memory).
  • Implemented #664: Do not rely on autoloader class map to populate blacklist.
  • Added the addUncoveredFilesFromWhitelist configuration setting back in.
  • Fixed #655: Reverted 'More than two positional arguments provided' check as it turned out to be a BC issue.
  • Disable token caching (in PHP_TokenStream, used by PHP_CodeCoverage) by default (to reduce memory footprint).

PHPUnit 3.7.1

  • The version number is now displayed when using PHPUnit from a Composer install or Git checkout.

PHPUnit 3.7.0

  • Implemented #200: When using process-isolation don't die silently when unserializing the test result fails.
  • Implemented #206: Added a callback constraint that is useful for making complex assertions.
  • Implemented #207: Restore current working directory if is changed by a test case.
  • Implemented #208: Added --test-suffix that allows specifying which filename suffixes are recognised by PHPUnit.
  • Implemented #295: assertArrayHasKey() and assertArrayNotHasKey() now work with objects that implement ArrayAccess.
  • Implemented #333: Improved reporting when there are unused CLI arguments to avoid misconceptions.
  • Implemented #377: Show messages and stracktraces in JSON output for skipped and incomplete tests.
  • Implemented #424: Added assertJson* functions that work like the existing assertXml* functions.
  • Implemented #492: PHPUnit now provides a configuration.xsd schema file at http://schema.phpunit.de/configuration.xsd that can be used to validate your phpunit.xml and phpunit.xml.dist configuration files.
  • Implemented #495: Added --testsuite argument, allowing to filter files/directory by parent testsuite name attribute.
  • Implemented #504: Expanded the @requires annotation to allow for checking the existence of functions and extensions using multiple @requires function name statements.
  • Implemented #508 #86: @expectedExceptionCode and @expectedExceptionMessage can now use constants like Classname::CONST as their parameters. They will get evaluated if the class constant exists and used for comparison so test authors can avoid duplication.
  • Implemented #512: Test listeners now trigger one autoload call instead of being silently ignored when the class was not loaded.
  • Implemented #514: Failed assertStringMatchesFormat() calls now produce a better readable diff by only marking lines as different that don't match the format specifiers.
  • Implemented #515: Added assertContainsOnlyInstancesOf() to help checking Collection objects and arrays with a descriptive assertion.
  • Implemented #561: When an @expectedException fails it now shows the message of the thrown exception to ease debugging.
  • Implemented #586: Improved reporting of exceptions by printing out the previous exception names, messages and traces.
  • The @requires annotation can now be used on the class DocBlock. Required versions can be overridden in the methods annotation, required functions and extensions will be merged.
  • Added processUncoveredFilesFromWhitelist configuration setting. When enabled, uncovered whitelisted files are processed to properly calculate the number of executable lines.
  • Fixed #322 #320 thanks to #607: Commandline option now override group/exclude settings in phpunit.xml
  • Fixed #440: Possible crash when using --process-isolation with PHP 5.3 and detect_unicode=on.
  • Fixed #523: assertAttributeEquals() now works with classes extending internal classes like ArrayIterator.
  • Fixed #581: Generating a diffs could add extra newlines in Windows.
  • Fixed #636, #631: Using Selenium in combination with autoloaders that die() or produce errors when a class cannot be found caused broken tests.
  • If no tests where executed, for example because of a --filter, PHPUnit now prints a "No tests executed" warning instead of "OK (0 tests...)".
  • It is possible again to expect the generic Exception class.
  • Removed addUncoveredFilesFromWhitelist configuration setting.
  • Removed deprecated --skeleton-class and --skeleton-test switches. The functionality is now provided by the phpunit-skelgen command of the PHPUnit_SkeletonGenerator package.
  • Removed deprecated PHPUnit_Extensions_OutputTestCase class.
  • PHPUnit 3.7 is only supported on PHP 5.3.3 (or later) and PHP 5.4.7 (or later) is highly recommended.

Changes in PHPUnit_MockObject

  • Implemented #47: Make cloning of arguments passed to mocked methods optional.
  • Implemented #84: getMockFromWsdl() now works with namespaces.
  • Fixed #90: Mocks with a fixed class name could only be created once.

Changes in PHP_CodeCoverage

  • The HTML report has been redesigned.
  • The new @coversDefaultClass annotation enables short @covers annotations when working with long class names or namespaces.
  • The new @coversNothing annotation can be used so tests do not record any code coverage. Useful for integration testing.
  • When processUncoveredFilesFromWhitelist=FALSE is set then files that are whitelisted but not covered by a single test are now included in the code coverage but with all lines, including those that are not executable, counted as not executed.
  • PHP_CodeCoverage 1.2 is only supported on PHP 5.3.3 (or later) and PHP 5.4.7 (or later) is highly recommended.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.