mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-15 12:43:33 +09:00
797bc2fd98
git-subtree-dir: includes/lib/action-scheduler git-subtree-split: c828347715e6c3318c8ab8b4fea2d87b31d51aac
55 lines
1.9 KiB
PHP
55 lines
1.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Class ActionScheduler_Action_Test
|
|
* @group actions
|
|
*/
|
|
class ActionScheduler_Action_Test extends ActionScheduler_UnitTestCase {
|
|
public function test_set_schedule() {
|
|
$time = as_get_datetime_object();
|
|
$schedule = new ActionScheduler_SimpleSchedule($time);
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array(), $schedule );
|
|
$this->assertEquals( $schedule, $action->get_schedule() );
|
|
}
|
|
|
|
public function test_null_schedule() {
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
|
|
$this->assertInstanceOf( 'ActionScheduler_NullSchedule', $action->get_schedule() );
|
|
}
|
|
|
|
public function test_set_hook() {
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
|
|
$this->assertEquals( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, $action->get_hook() );
|
|
}
|
|
|
|
public function test_args() {
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
|
|
$this->assertEmpty($action->get_args());
|
|
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array( 5, 10, 15 ) );
|
|
$this->assertEqualSets(array(5,10,15), $action->get_args());
|
|
}
|
|
|
|
public function test_set_group() {
|
|
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array(), NULL, 'my_group' );
|
|
$this->assertEquals('my_group', $action->get_group());
|
|
}
|
|
|
|
public function test_execute() {
|
|
$mock = new MockAction();
|
|
|
|
$random = md5(rand());
|
|
add_action( $random, array( $mock, 'action' ) );
|
|
|
|
$action = new ActionScheduler_Action( $random, array($random) );
|
|
$action->execute();
|
|
|
|
remove_action( $random, array( $mock, 'action' ) );
|
|
|
|
$this->assertEquals( 1, $mock->get_call_count() );
|
|
$events = $mock->get_events();
|
|
$event = reset($events);
|
|
$this->assertEquals( $random, reset($event['args']) );
|
|
}
|
|
}
|