function RulesEventDispatcherTestCase::testStartAndStopMultiple
Same name in other branches
- 8.x-3.x d7-tests/rules_test_event_dispatcher_case.test \RulesEventDispatcherTestCase::testStartAndStopMultiple()
Tests start and stop functionality when used with multiple events.
File
-
tests/
rules.test, line 2190
Class
- RulesEventDispatcherTestCase
- Tests event dispatcher functionality.
Code
public function testStartAndStopMultiple() {
$handler = rules_get_event_handler('rules_test_event');
// Initially, the task handler should not be watching.
$this->assertFalse($handler->isWatching());
// Set up five rules that all use the same event.
$rules = array();
foreach (array(
1,
2,
3,
4,
5,
) as $key) {
$rules[$key] = rules_reaction_rule();
$rules[$key]->event('rules_test_event');
$rules[$key]->save();
}
// Once saved, the event cache rebuild should start the watcher.
RulesEventSet::rebuildEventCache();
$this->assertTrue($handler->isWatching());
// It should continue watching until all events are deleted.
foreach ($rules as $key => $rule) {
$rule->delete();
$this->assertEqual($key !== 5, $handler->isWatching());
}
}