-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Description
When running the following unit test in Moodle 3.9 (as part of the core unit test suite), an error occurs.
To run the unit test:
vendor/bin/phpunit "core_component_testcase" lib/tests/component_test.php
The error:
1) core_component_testcase::test_get_component_classes_in_namespace
Undefined property: stdClass::$coursetilestyle
/var/www/moodle39/theme/fordson/classes/output/core/course_renderer.php:49
/var/www/moodle39/lib/classes/component.php:135
/var/www/moodle39/lib/classes/component.php:907
/var/www/moodle39/lib/tests/component_test.php:515
/var/www/moodle39/lib/phpunit/classes/advanced_testcase.php:80
It looks that during (at least the unit tests) $PAGE->theme->settings->coursetilestyle is not instantiated.
A very quick fix is the following patch:
diff --git a/classes/output/core/course_renderer.php b/classes/output/core/course_renderer.php
index 463f821..fcb4e83 100755
--- a/classes/output/core/course_renderer.php
+++ b/classes/output/core/course_renderer.php
@@ -46,7 +46,7 @@ global $PAGE;
* @copyright 2016 Frédéric Massart - FMCorz.net
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-if ($PAGE->theme->settings->coursetilestyle < 10) {
+if (!empty($PAGE->theme->settings->coursetilestyle) && $PAGE->theme->settings->coursetilestyle < 10) {
class course_renderer extends \core_course_renderer {
protected $countcategories = 0;
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels