Open mattporritt opened 3 years ago
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
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:
$PAGE->theme->settings->coursetilestyle
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;
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:
It looks that during (at least the unit tests)
$PAGE->theme->settings->coursetilestyle
is not instantiated. A very quick fix is the following patch: