- Refactored fallback submission logic in `class-event-handler.php` to remove `wp_die`/`exit` calls and use redirects for error handling, enabling proper unit testing. - Implemented meta-data saving (dates, venue, organizer) in the fallback logic using `update_post_meta`. - Updated unit tests (`test-event-management.php`) to remove `markTestIncomplete` calls related to handler errors and uncommented meta assertions. Unit tests for fallback logic now pass. - Added Instructions section and Return to Dashboard button to the event form shortcode (`display_event_form_shortcode`). - Applied basic theme styling classes (`ast-container`, `notice`, `ast-button`) to the event form. - Updated `docs/implementation_plan.md` to reflect completion of tasks 4.1-4.5 and set focus to Task 5. Refs: Task 4.1, 4.2, 4.3, 4.4, 4.5
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace Hamcrest;
 | |
| 
 | |
| use PHPUnit\Framework\TestCase;
 | |
| 
 | |
| class UtilTest extends TestCase
 | |
| {
 | |
| 
 | |
|     public function testWrapValueWithIsEqualLeavesMatchersUntouched()
 | |
|     {
 | |
|         $matcher = new \Hamcrest\Text\MatchesPattern('/fo+/');
 | |
|         $newMatcher = \Hamcrest\Util::wrapValueWithIsEqual($matcher);
 | |
|         $this->assertSame($matcher, $newMatcher);
 | |
|     }
 | |
| 
 | |
|     public function testWrapValueWithIsEqualWrapsPrimitive()
 | |
|     {
 | |
|         $matcher = \Hamcrest\Util::wrapValueWithIsEqual('foo');
 | |
|         $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matcher);
 | |
|         $this->assertTrue($matcher->matches('foo'));
 | |
|     }
 | |
| 
 | |
|     public function testCheckAllAreMatchersAcceptsMatchers()
 | |
|     {
 | |
|         \Hamcrest\Util::checkAllAreMatchers(array(
 | |
|             new \Hamcrest\Text\MatchesPattern('/fo+/'),
 | |
|             new \Hamcrest\Core\IsEqual('foo'),
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @expectedException InvalidArgumentException
 | |
|      */
 | |
|     public function testCheckAllAreMatchersFailsForPrimitive()
 | |
|     {
 | |
|         \Hamcrest\Util::checkAllAreMatchers(array(
 | |
|             new \Hamcrest\Text\MatchesPattern('/fo+/'),
 | |
|             'foo',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     private function callAndAssertCreateMatcherArray($items)
 | |
|     {
 | |
|         $matchers = \Hamcrest\Util::createMatcherArray($items);
 | |
|         $this->assertInternalType('array', $matchers);
 | |
|         $this->assertSameSize($items, $matchers);
 | |
|         foreach ($matchers as $matcher) {
 | |
|             $this->assertInstanceOf('\Hamcrest\Matcher', $matcher);
 | |
|         }
 | |
| 
 | |
|         return $matchers;
 | |
|     }
 | |
| 
 | |
|     public function testCreateMatcherArrayLeavesMatchersUntouched()
 | |
|     {
 | |
|         $matcher = new \Hamcrest\Text\MatchesPattern('/fo+/');
 | |
|         $items = array($matcher);
 | |
|         $matchers = $this->callAndAssertCreateMatcherArray($items);
 | |
|         $this->assertSame($matcher, $matchers[0]);
 | |
|     }
 | |
| 
 | |
|     public function testCreateMatcherArrayWrapsPrimitiveWithIsEqualMatcher()
 | |
|     {
 | |
|         $matchers = $this->callAndAssertCreateMatcherArray(array('foo'));
 | |
|         $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]);
 | |
|         $this->assertTrue($matchers[0]->matches('foo'));
 | |
|     }
 | |
| 
 | |
|     public function testCreateMatcherArrayDoesntModifyOriginalArray()
 | |
|     {
 | |
|         $items = array('foo');
 | |
|         $this->callAndAssertCreateMatcherArray($items);
 | |
|         $this->assertSame('foo', $items[0]);
 | |
|     }
 | |
| 
 | |
|     public function testCreateMatcherArrayUnwrapsSingleArrayElement()
 | |
|     {
 | |
|         $matchers = $this->callAndAssertCreateMatcherArray(array(array('foo')));
 | |
|         $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]);
 | |
|         $this->assertTrue($matchers[0]->matches('foo'));
 | |
|     }
 | |
| }
 |