Exemple #1
0
    /**
     * 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);
    }
 /**
  * @expectedException PHPUnit_Framework_Error_Notice
  */
 public function test_context_not_used()
 {
     $event = \core_tests\event\context_used_in_event::create(array('other' => array('sample' => 1, 'xx' => 10)));
     $this->assertEventContextNotUsed($event);
     $eventcontext = phpunit_event_mock::testable_get_event_context($event);
     phpunit_event_mock::testable_set_event_context($event, null);
     $this->assertEventContextNotUsed($event);
 }