Implements automatic creation of required plugin pages (Community Login, Trainer Registration, Trainer Dashboard) upon plugin activation. This addresses E2E test failures caused by missing pages in the test environment. - Adds activation hook in `hvac-community-events.php` to call `hvac_ce_create_required_pages`. - The callback function checks for existing pages by slug and creates them using `wp_insert_post` if missing. Includes debug logging. Also fixes issues identified during E2E test debugging: - Corrects fatal error in `includes/community/class-login-handler.php` by replacing undefined constant `HVAC_COMMUNITY_EVENTS_PATH` with `HVAC_CE_PLUGIN_DIR`. - Updates `tests/e2e/tests/login.spec.ts` to use the correct selector `#wp-submit` for the login form submit button instead of `button[type="submit"]`. Documentation updates: - Adds `docs/automatic-page-creation-plan.md`. - Updates `README.md` regarding automatic page creation. - Updates Memory Bank files (`decisionLog.md`, `progress.md`, `activeContext.md`). Note: Activation hook logging did not appear during WP-CLI activation, requiring further investigation if page creation issues persist. E2E test confirmation pending.
		
			
				
	
	
		
			233 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Change Log for Yoast PHPUnit Polyfills
 | |
| 
 | |
| All notable changes to this project will be documented in this file.
 | |
| 
 | |
| This projects adheres to [Keep a CHANGELOG](http://keepachangelog.com/) and uses [Semantic Versioning](https://semver.org/).
 | |
| 
 | |
| 
 | |
| ## [Unreleased]
 | |
| 
 | |
| _Nothing yet._
 | |
| 
 | |
| ## [1.1.4] - 2025-02-09
 | |
| 
 | |
| This is a maintenance release.
 | |
| 
 | |
| ### Changed
 | |
| * README: updated sub-section about PHPUnit version support with information about the PHPUnit Polyfills 4.x branch. PR [#249]
 | |
| * General housekeeping.
 | |
| 
 | |
| [#249]: https://github.com/Yoast/PHPUnit-Polyfills/pull/249
 | |
| 
 | |
| 
 | |
| ## [1.1.3] - 2025-01-08
 | |
| 
 | |
| This is a maintenance release.
 | |
| 
 | |
| ### Changed
 | |
| * README: fixed a few broken badges.
 | |
| * General housekeeping.
 | |
| 
 | |
| 
 | |
| ## [1.1.2] - 2024-09-07
 | |
| 
 | |
| This is a maintenance release.
 | |
| 
 | |
| ### Changed
 | |
| * README: updated sub-section about PHPUnit version support with information about the PHPUnit Polyfills 3.x branch. PR [#188]
 | |
| * General housekeeping.
 | |
| 
 | |
| [#188]: https://github.com/Yoast/PHPUnit-Polyfills/pull/188
 | |
| 
 | |
| 
 | |
| ## [1.1.1] - 2024-04-05
 | |
| 
 | |
| ### Added
 | |
| * Compatibility fix for running tests using a PHPUnit PHAR file for PHPUnit 8.5.38+ and PHPUnit 9.6.19+. PR [#161].
 | |
| 
 | |
| ### Changed
 | |
| * General housekeeping.
 | |
| 
 | |
| [#161]: https://github.com/Yoast/PHPUnit-Polyfills/pull/161
 | |
| 
 | |
| 
 | |
| ## [1.1.0] - 2023-08-19
 | |
| 
 | |
| ### Added
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\AssertObjectProperty` trait to polyfill the `Assert::assertObjectHasProperty()` and `Assert::assertObjectNotHasProperty()` methods as backported from PHPUnit 10.1.0 to PHPUnit 9.6.11. PR [#135].
 | |
| 
 | |
| ### Changed
 | |
| * General housekeeping.
 | |
| 
 | |
| [#135]: https://github.com/Yoast/PHPUnit-Polyfills/pull/135
 | |
| 
 | |
| 
 | |
| ## [1.0.5] - 2023-03-31
 | |
| 
 | |
| ### Fixed
 | |
| * A custom `$message` parameter passed to an assertion, will no longer overrule an emulated "assertion failed" message, but will be prefixed to it instead. PR [#97]
 | |
|     This applies to the following polyfills:
 | |
|     - `assertIsClosedResource()`
 | |
|     - `assertIsNotClosedResource()`
 | |
|     - `assertIsReadable()`
 | |
|     - `assertNotIsReadable()`
 | |
|     - `assertIsWritable()`
 | |
|     - `assertNotIsWritable()`
 | |
|     - `assertDirectoryExists()`
 | |
|     - `assertDirectoryNotExists()`
 | |
|     - `assertStringNotContainsString()`
 | |
|     - `assertStringNotContainsStringIgnoringCase()`
 | |
| 
 | |
| ### Changed
 | |
| * The `develop` branch has been removed. Development will now take place in the `1.x` and `2.x` branches.
 | |
| * README: links to the PHPUnit manual now point explicitly to the PHPUnit 9.x documentation. PR [#94]
 | |
| * README: new sub-section about PHPUnit version support. PR [#99]
 | |
| * README: various minor improvements. PRs [#92], [#93]
 | |
| * General housekeeping.
 | |
| 
 | |
| [#92]: https://github.com/Yoast/PHPUnit-Polyfills/pull/92
 | |
| [#93]: https://github.com/Yoast/PHPUnit-Polyfills/pull/93
 | |
| [#94]: https://github.com/Yoast/PHPUnit-Polyfills/pull/94
 | |
| [#97]: https://github.com/Yoast/PHPUnit-Polyfills/pull/97
 | |
| [#99]: https://github.com/Yoast/PHPUnit-Polyfills/pull/99
 | |
| 
 | |
| 
 | |
| ## [1.0.4] - 2022-11-16
 | |
| 
 | |
| This is a maintenance release.
 | |
| 
 | |
| ### Changed
 | |
| * The `Yoast\PHPUnitPolyfills\Autoload` class is now `final`. PR [#77].
 | |
| * README: clear up minor language confusion. Props [Phil E. Taylor] and [fredericgboutin-yapla] for pointing it out.
 | |
| * README: fix links which were broken due to an upstream branch rename. PR [#80].
 | |
| * Verified PHP 8.2 compatibility.
 | |
| * General housekeeping.
 | |
| 
 | |
| [#77]: https://github.com/Yoast/PHPUnit-Polyfills/pull/77
 | |
| [#80]: https://github.com/Yoast/PHPUnit-Polyfills/pull/80
 | |
| 
 | |
| 
 | |
| ## [1.0.3] - 2021-11-23
 | |
| 
 | |
| ### Changed
 | |
| * General housekeeping.
 | |
| 
 | |
| ### Fixed
 | |
| * The failure message thrown for the `assertIsClosedResource()` and `assertIsNotClosedResource()` assertions will now be more informative, most notably, when the value under test _is_ a closed resource. PR [#65], props [Alain Schlesser] for reporting.
 | |
| 
 | |
| [#65]: https://github.com/Yoast/PHPUnit-Polyfills/pull/65
 | |
| 
 | |
| 
 | |
| ## [1.0.2] - 2021-10-03
 | |
| 
 | |
| As of version 2.15.0 of the `shivammathur/setup-php` action for GitHub Actions, the PHPUnit Polyfills can be installed directly from this action using the `tools` key.
 | |
| 
 | |
| ### Added
 | |
| * README: FAQ section about installing and using the library via the `shivammathur/setup-php` action. PR [#52]
 | |
| 
 | |
| ### Changed
 | |
| * README: minor textual clarifications and improvements. PRs [#52], [#54], props [Pierre Gordon].
 | |
| * General housekeeping.
 | |
| 
 | |
| ### Fixed
 | |
| * Autoloader: improved compatibility with packages which create a `class_alias` for the `PHPUnit_Runner_Version` or `PHPUnit\Runner\Version` class. PR [#59]
 | |
| 
 | |
| [#52]: https://github.com/Yoast/PHPUnit-Polyfills/pull/52
 | |
| [#54]: https://github.com/Yoast/PHPUnit-Polyfills/pull/54
 | |
| [#59]: https://github.com/Yoast/PHPUnit-Polyfills/pull/59
 | |
| 
 | |
| 
 | |
| ## [1.0.1] - 2021-08-09
 | |
| 
 | |
| ### Added
 | |
| * The `Yoast\PHPUnitPolyfills\Autoload` class now contains a `VERSION` constant. Issue [#46], PR [#47], props [Pascal Birchler] for the suggestion.
 | |
|     This version constant can be used by (complex) test setups to verify that the PHPUnit Polyfills which will be loaded, comply with the version requirements for the test suite.
 | |
| 
 | |
| ### Changed
 | |
| * Minor documentation updates. [#43]
 | |
| 
 | |
| [#43]: https://github.com/Yoast/PHPUnit-Polyfills/pull/43
 | |
| [#46]: https://github.com/Yoast/PHPUnit-Polyfills/issues/46
 | |
| [#47]: https://github.com/Yoast/PHPUnit-Polyfills/pull/47
 | |
| 
 | |
| 
 | |
| ## [1.0.0] - 2021-06-21
 | |
| 
 | |
| ### Added
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\AssertClosedResource` trait to polyfill the `Assert::assertIsClosedResource()` and `Assert::assertIsNotClosedResource()` methods as introduced in PHPUnit 9.3.0. PR [#27].
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\AssertObjectEquals` trait to polyfill the `Assert::assertObjectEquals()` method as introduced in PHPUnit 9.4.0. PR [#38].
 | |
|     The behaviour of the polyfill closely matches the PHPUnit native implementation, but is not 100% the same.
 | |
|     Most notably, the polyfill will check the type of the returned value from the comparator method instead of enforcing a return type declaration for the comparator method.
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\EqualToSpecializations` trait to polyfill the `Assert::equalToCanonicalizing()`, `Assert::equalToIgnoringCase()` and `Assert::equalToWithDelta()` methods as introduced in PHPUnit 9.0.0. PR [#28], props [Marc Siegrist].
 | |
| * Polyfills for the PHP native `Error` and `TypeError` classes as introduced in PHP 7.0. PR [#36].
 | |
| * README: FAQ section covering functionality removed from PHPUnit and usage with a Phar.
 | |
| 
 | |
| ### Changed
 | |
| * The minimum supported PHP version has been lowered to PHP 5.4 (was 5.5). PR [#19].
 | |
| * `XTestCase`: the visibility of the `setUpFixtures()` and the `tearDownFixtures()` methods has been changed to `protected` (was `public`). Issue [#10], PR [#20], props [Mark Baker] for reporting.
 | |
| * README: re-ordered the sections and various other improvements.
 | |
| * Initial preparation for PHPUnit 10.0 compatibility.
 | |
| * General housekeeping.
 | |
| 
 | |
| ### Fixed
 | |
| * Issue [#17] via PR [#18] - `AssertStringContainString`: PHPUnit < 6.4.2 would throw a _"mb_strpos(): empty delimiter"_ PHP warning when the `$needle` passed was an empty string. Props [Gary Jones].
 | |
| 
 | |
| [#10]: https://github.com/Yoast/PHPUnit-Polyfills/issues/10
 | |
| [#17]: https://github.com/Yoast/PHPUnit-Polyfills/issues/17
 | |
| [#18]: https://github.com/Yoast/PHPUnit-Polyfills/pull/18
 | |
| [#19]: https://github.com/Yoast/PHPUnit-Polyfills/pull/19
 | |
| [#20]: https://github.com/Yoast/PHPUnit-Polyfills/pull/20
 | |
| [#27]: https://github.com/Yoast/PHPUnit-Polyfills/pull/27
 | |
| [#28]: https://github.com/Yoast/PHPUnit-Polyfills/pull/28
 | |
| [#36]: https://github.com/Yoast/PHPUnit-Polyfills/pull/36
 | |
| [#38]: https://github.com/Yoast/PHPUnit-Polyfills/pull/38
 | |
| 
 | |
| 
 | |
| ## [0.2.0] - 2020-11-25
 | |
| 
 | |
| ### Added
 | |
| * `Yoast\PHPUnitPolyfills\TestListeners\TestListenerDefaultImplementation`: a cross-version compatible base implementation for `TestListener`s using snake_case method names to replace the PHPUnit native method names.
 | |
| * `Yoast\PHPUnitPolyfills\Helpers\AssertAttributeHelper` trait containing a `getProperty()` and a `getPropertyValue()` method.
 | |
|     This is a stop-gap solution for the removal of the PHPUnit `assertAttribute*()` methods in PHPUnit 9.
 | |
|     It is strongly recommended to refactor your tests/classes in a way that protected and private properties no longer be tested directly as they should be considered an implementation detail.
 | |
|     However, if for some reason the value of protected or private properties still needs to be tested, this helper can be used to get access to their value.
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\AssertNumericType` trait to polyfill the `Assert::assertFinite()`, `Assert::assertInfinite()` and `Assert::assertNan()` methods as introduced in PHPUnit 5.0.0.
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\ExpectException` trait to polyfill the `TestCase::expectException()`, `TestCase::expectExceptionMessage()`, `TestCase::expectExceptionCode()` and `TestCase::expectExceptionMessageRegExp()` methods, as introduced in PHPUnit 5.2.0 to replace the `Testcase::setExpectedException()` and the `Testcase::setExpectedExceptionRegExp()` method.
 | |
| * `Yoast\PHPUnitPolyfills\Polyfills\AssertFileDirectory` trait to polyfill the `Assert::assertIsReadable()`, `Assert::assertIsWritable()` methods and their file/directory based variations, as introduced in PHPUnit 5.6.0.
 | |
| * `Yoast\PHPUnitPolyfills\TestCases\TestCase`: support for the `assertPreConditions()` and `assertPostConditions()` methods.
 | |
| 
 | |
| ### Changed
 | |
| * The minimum supported PHP version has been lowered to PHP 5.5 (was 5.6).
 | |
| * The minimum supported PHPUnit version has been lowered to PHP 4.8.36 (was 5.7).
 | |
|     Note: for PHPUnit 4, only version 4.8.36 is supported, for PHPUnit 5, only PHPUnit >= 5.7.21 is supported.
 | |
| * Readme: documentation improvements.
 | |
| 
 | |
| 
 | |
| ## [0.1.0] - 2020-10-26
 | |
| 
 | |
| Initial release.
 | |
| 
 | |
| 
 | |
| [Unreleased]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.1.4...1.x
 | |
| [1.1.4]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.1.3...1.1.4
 | |
| [1.1.3]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.1.2...1.1.3
 | |
| [1.1.2]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.1.1...1.1.2
 | |
| [1.1.1]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.1.0...1.1.1
 | |
| [1.1.0]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.5...1.1.0
 | |
| [1.0.5]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.4...1.0.5
 | |
| [1.0.4]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.3...1.0.4
 | |
| [1.0.3]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.2...1.0.3
 | |
| [1.0.2]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.1...1.0.2
 | |
| [1.0.1]: https://github.com/Yoast/PHPUnit-Polyfills/compare/1.0.0...1.0.1
 | |
| [1.0.0]: https://github.com/Yoast/PHPUnit-Polyfills/compare/0.2.0...1.0.0
 | |
| [0.2.0]: https://github.com/Yoast/PHPUnit-Polyfills/compare/0.1.0...0.2.0
 | |
| [0.1.0]: https://github.com/Yoast/PHPUnit-Polyfills/compare/e8f8b7a73737aa9a5974bd9c73d2bd8d09f69873...0.1.0
 | |
| 
 | |
| [Alain Schlesser]: https://github.com/schlessera
 | |
| [fredericgboutin-yapla]: https://github.com/fredericgboutin-yapla
 | |
| [Gary Jones]: https://github.com/GaryJones
 | |
| [Marc Siegrist]: https://github.com/mergeMarc
 | |
| [Mark Baker]: https://github.com/MarkBaker
 | |
| [Pascal Birchler]: https://github.com/swissspidy
 | |
| [Phil E. Taylor]: https://github.com/PhilETaylor
 | |
| [Pierre Gordon]: https://github.com/pierlon
 |