Skip to content

Latest commit

 

History

History
151 lines (101 loc) · 8.26 KB

CHANGELOG.md

File metadata and controls

151 lines (101 loc) · 8.26 KB

Change Log for Yoast WP Test Utils

All notable changes to this project will be documented in this file.

This projects adheres to Keep a CHANGELOG and uses Semantic Versioning.

Nothing yet.

1.2.0 - 2023-09-27

Added

  • Support for the new PHPUnit assertObjectHasProperty() and assertObjectNotHasProperty() assertions, as polyfilled via the PHPUnit Polyfills in all test cases. PR #64 This means that the assertObjectHasProperty() and assertObjectNotHasProperty() assertions can now safely be used in all tests in classes which extend one of the WP Test Utils TestCases.

Changed

  • Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the parameter names used in a few of the stubs for WP Core functions have been updated to stay in line with the names used in WP Core. PR #53
  • The PHPUnit Polyfills dependency has been updated to require version ^1.1.0 (was ^1.0.5). PRs #52, #64
  • Verified PHP 8.3 compatibility.
  • General housekeeping.

1.1.1 - 2022-11-17

Fixed

  • The "on the fly" created test doubles would identify as the same class when comparing objects using instanceof. #45 The underlying logic has been changed to prevent this. This includes removing the (non-public API) Yoast\WPTestUtils\BrainMonkey\Doubles\DummyTestDouble class which was introduced in 1.1.0.

1.1.0 - 2022-11-17

Added

  • Helper functions for on-the-fly creation of opaque test doubles for unavailable classes for use with Mockery. PR #40 The default Mockery mocks for unavailable classes do not allow for the dynamic property deprecation in PHP 8.2, which can cause tests to error out. These helper functions can be used to create test doubles which do allow for setting properties. The helper functions can be called from within a test bootstrap or from within a test class. For full details about these new functions, why they exist and how to use them, please see the documentation in the README.

Changed

1.0.0 - 2021-09-27

WordPress 5.9 contains significant changes to the WordPress native test suite, which impacts integration tests.
Please see the dev-note about these changes on Make WordPress for full details.

This release makes WP Test Utils compatible with these changes, but can't fully mitigate them, though if you were using WP Test Utils before, you're already half prepared for these changes.

For users of WP Test Utils, a search for declarations of and calls to the setUpBeforeClass(), setUp(), tearDown() and tearDownAfterClass() methods and replacing these with their snake_case equivalents set_up_before_class(), set_up() tear_down() and tear_down_after_class() is all that is required to make your test suite compatible again with the latest versions of WordPress.

You also may want to do some tweaking to the CI scripts used to run the tests to allow for using the optimal PHPUnit version to run the tests.
See the Make Core dev-note for guidance.

Added

  • Integration tests bootstrap utilities: the Yoast\WPTestUtils\WPIntegration\get_path_to_wp_test_dir() function will now also search for the WP Core test framework files in the system temp directory as per the typical setup created by the WP-CLI scaffold command. PR #16
    This means that if the install-wp-tests.sh script is used without adjustments, the path to the WP native test bootstrap should be findable by WP Test Utils without needing to set the WP_TESTS_DIR environment variable.
    If you previously adjusted your test bootstrap to set this environment variable, you should now be able to remove it.

Changed

  • Integration tests: both the TestCase as well as the bootstrap utilities have been adjusted to be cross-version compatible with the WP Core test framework as it is per WP 5.9, while still maintaining compatibility with older WP versions as well, includes WP < 5.2. PR #20
  • Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the is_multisite() stub will now respect a potentially set WP_TESTS_MULTISITE PHP constant. PR #22
  • The PHPUnit Polyfills dependency has been updated to require version ^1.0.1 (was ^1.0.0).
  • README: the documentation has been partially rewritten to make it clearer what problems WP Test Utils solves.
  • General housekeeping.

Fixes

  • The PHPUnit Polyfills dependency introduced three new polyfills in the 1.0.0 version. These are now supported in all test cases. #17

Thanks Pierre Gordon and Pascal Birchler for making feature suggestions for this version.

0.2.2 - 2021-06-21

Changed

0.2.1 - 2020-12-09

Changed

  • The BrainMonkey dependency has been updated to require version ^2.6.0 (was ^2.5.0).
  • Yoast\WPTestUtils\BrainMonkey\YoastTestCase: removed stubs for wp_json_encode() and user_trailingslashit().
    These are now stubbed in the BrainMonkey library.

0.2.0 - 2020-12-09

Added

  • A TestCase for WordPress plugin integration tests.
  • Utility functions and a custom autoloader for use within a plugin's integration test bootstrap.php file.
  • An EscapeOutputHelper trait.

Full details on these new features can be found in the README.

0.1.1 - 2020-11-25

Changed

  • The PHPUnit Polyfills dependency has been updated to require version ^0.2.0 (was ^0.1.0).

0.1.0 - 2020-11-13

Initial release.