public function RulesEventDispatcherTestCase::testStartAndStopMultiple in Rules 8.3
Same name and namespace in other branches
- 7.2 tests/rules.test \RulesEventDispatcherTestCase::testStartAndStopMultiple()
Tests start and stop functionality when used with multiple events.
File
- d7-tests/
rules_test_event_dispatcher_case.test, line 55 - Rules 7.x tests.
Class
- RulesEventDispatcherTestCase
- Test 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());
}
}