MDL-39846 remove contextlevel validation

Do this in new validate_data() instead, thanks Fred.
This commit is contained in:
Petr Škoda
2013-07-19 08:43:30 +02:00
parent 2d36d49860
commit f8a39659aa
3 changed files with 5 additions and 25 deletions
-4
View File
@@ -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
*/
+4 -12
View File
@@ -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();
}
+1 -9
View File
@@ -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;