MDL-43736 Events: Updated unit test to test context not used in event
This commit is contained in:
@@ -343,6 +343,34 @@ abstract class advanced_testcase extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals($expected, $legacydata, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Assert that an event is not using event->contxet.
|
||||
* While restoring context might not be valid and it should not be used by event url
|
||||
* or description methods.
|
||||
*
|
||||
* @param \core\event\base $event the event object.
|
||||
* @param string $message
|
||||
* @return void
|
||||
*/
|
||||
public function assertEventContextNotUsed(\core\event\base $event, $message = '') {
|
||||
// Save current event->context and set it to false.
|
||||
$eventcontext = phpunit_event_mock::testable_get_event_context($event);
|
||||
phpunit_event_mock::testable_set_event_context($event, false);
|
||||
if ($message === '') {
|
||||
$message = 'Event should not use context property of event in any method.';
|
||||
}
|
||||
|
||||
// Test event methods should not use event->context.
|
||||
$event->get_url();
|
||||
$event->get_description();
|
||||
$event->get_legacy_eventname();
|
||||
phpunit_event_mock::testable_get_legacy_eventdata($event);
|
||||
phpunit_event_mock::testable_get_legacy_logdata($event);
|
||||
|
||||
// Restore event->context.
|
||||
phpunit_event_mock::testable_set_event_context($event, $eventcontext);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stores current time as the base for assertTimeCurrent().
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user