- 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'));
|
|
}
|
|
}
|