From 194a02e4094ae2ccbe4e23a52bc0caf8f726ac6c Mon Sep 17 00:00:00 2001 From: Dan Poltawski Date: Thu, 10 Dec 2015 14:45:57 +0000 Subject: [PATCH] MDL-52471 completion: fix deprecated use of 'object' And add a unit test covering completion_can_view_data() without full course object passed. --- lib/completionlib.php | 2 +- lib/tests/completionlib_test.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/completionlib.php b/lib/completionlib.php index 262c1e811f0..de9b8a4e639 100644 --- a/lib/completionlib.php +++ b/lib/completionlib.php @@ -158,7 +158,7 @@ function completion_can_view_data($userid, $course = null) { if (!is_object($course)) { $cid = $course; - $course = new object(); + $course = new stdClass(); $course->id = $cid; } diff --git a/lib/tests/completionlib_test.php b/lib/tests/completionlib_test.php index f126735a56e..b0625f11821 100644 --- a/lib/tests/completionlib_test.php +++ b/lib/tests/completionlib_test.php @@ -858,6 +858,17 @@ class core_completionlib_testcase extends advanced_testcase { $expectedlegacylog = array($this->course->id, 'course', 'completion updated', 'completion.php?id='.$this->course->id); $this->assertEventLegacyLogData($expectedlegacylog, $event); } + + public function test_completion_can_view_data() { + $this->setup_data(); + + $student = $this->getDataGenerator()->create_user(); + $this->getDataGenerator()->enrol_user($student->id, $this->course->id); + + $this->setUser($student); + $this->assertTrue(completion_can_view_data($student->id, $this->course->id)); + $this->assertFalse(completion_can_view_data($this->user->id, $this->course->id)); + } } class core_completionlib_fake_recordset implements Iterator {