diff --git a/lib/classes/event/base.php b/lib/classes/event/base.php index 97936d68228..b00e892ad87 100644 --- a/lib/classes/event/base.php +++ b/lib/classes/event/base.php @@ -161,9 +161,6 @@ abstract class base implements \IteratorAggregate { throw new \coding_exception('context (or contextid) is a required event property, system context may be hardcoded in init() method.'); } - if (isset($event->data['contextlevel']) and $event->data['contextlevel'] != $event->context->contextlevel) { - throw new \coding_exception('Context does not match expected context level'); - } $event->data['contextid'] = $event->context->id; $event->data['contextlevel'] = $event->context->contextlevel; $event->data['contextinstanceid'] = $event->context->instanceid; @@ -217,7 +214,6 @@ abstract class base implements \IteratorAggregate { * * Optionally it can set: * a/ fixed system context - * b/ required context level * * @return void */ diff --git a/lib/tests/event_test.php b/lib/tests/event_test.php index 2abc8bbb816..43ec19f9f7d 100644 --- a/lib/tests/event_test.php +++ b/lib/tests/event_test.php @@ -620,22 +620,14 @@ class core_event_testcase extends advanced_testcase { $event6->trigger(); $this->assertDebuggingCalled(); - $event = \core_tests\event\problematic_event2::create(array('context'=>\context_course::instance(1))); - try { - $event = \core_tests\event\problematic_event2::create(array('context'=>\context_system::instance())); - $this->fail('Exception expected when $data contains context that does not match hardcoded level'); - } catch (\moodle_exception $e) { - $this->assertInstanceOf('\coding_exception', $e); - } - - $event = \core_tests\event\problematic_event3::create(array()); + $event = \core_tests\event\problematic_event2::create(array()); $this->assertDebuggingNotCalled(); - $event = \core_tests\event\problematic_event3::create(array('context'=>\context_system::instance())); + $event = \core_tests\event\problematic_event2::create(array('context'=>\context_system::instance())); $this->assertDebuggingCalled(); - $event = \core_tests\event\problematic_event4::create(array('other'=>1)); + $event = \core_tests\event\problematic_event3::create(array('other'=>1)); $this->assertDebuggingNotCalled(); - $event = \core_tests\event\problematic_event4::create(array()); + $event = \core_tests\event\problematic_event3::create(array()); $this->assertDebuggingCalled(); } diff --git a/lib/tests/fixtures/event_fixtures.php b/lib/tests/fixtures/event_fixtures.php index 29b99250586..f53acce0151 100644 --- a/lib/tests/fixtures/event_fixtures.php +++ b/lib/tests/fixtures/event_fixtures.php @@ -164,14 +164,6 @@ class problematic_event1 extends \core\event\base { } class problematic_event2 extends \core\event\base { - protected function init() { - $this->data['crud'] = 'c'; - $this->data['level'] = 10; - $this->data['contextlevel'] = CONTEXT_COURSE; - } -} - -class problematic_event3 extends \core\event\base { protected function init() { $this->data['crud'] = 'c'; $this->data['level'] = 10; @@ -179,7 +171,7 @@ class problematic_event3 extends \core\event\base { } } -class problematic_event4 extends \core\event\base { +class problematic_event3 extends \core\event\base { protected function init() { $this->data['crud'] = 'c'; $this->data['level'] = 10;