MDL-83468 phpunit: assertEqualsCanonicalizing now compares keys too
In previous versions of PHPUnit, the `assertEqualsCanonicalizing()` method compared values only, ignoring the keys entirely. Since PHPUnit 10 the method now checks keys where they are non-numeric. To solve this we call `array_values()`.
This commit is contained in:
@@ -24,14 +24,11 @@
|
||||
*/
|
||||
namespace tool_policy\privacy;
|
||||
|
||||
use core_privacy\local\metadata\collection;
|
||||
use tool_policy\privacy\provider;
|
||||
use tool_policy\api;
|
||||
use tool_policy\policy_version;
|
||||
use core_privacy\local\request\approved_contextlist;
|
||||
use core_privacy\local\request\writer;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
use tool_policy\api;
|
||||
use tool_policy\policy_version;
|
||||
use tool_policy\privacy\provider;
|
||||
|
||||
/**
|
||||
* Privacy provider tests class.
|
||||
@@ -278,7 +275,7 @@ final class provider_test extends \core_privacy\tests\provider_testcase {
|
||||
$this->assertCount(3, $contextlist);
|
||||
$this->assertEqualsCanonicalizing(
|
||||
[$managercontext->id, $usercontext->id, $systemcontext->id],
|
||||
$contextlist->get_contextids()
|
||||
array_values($contextlist->get_contextids()),
|
||||
);
|
||||
|
||||
$approvedcontextlist = new approved_contextlist($this->user, 'tool_policy', [$usercontext->id]);
|
||||
|
||||
@@ -212,7 +212,7 @@ final class provider_test extends \core_privacy\tests\provider_testcase {
|
||||
$this->assertCount(2, $contextlist);
|
||||
|
||||
$contextids = $contextlist->get_contextids();
|
||||
$this->assertEqualsCanonicalizing([$coursecontext1->id, $coursecontext2->id], $contextids);
|
||||
$this->assertEqualsCanonicalizing([$coursecontext1->id, $coursecontext2->id], array_values($contextids));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Vendored
+2
-2
@@ -104,10 +104,10 @@ abstract class cachestore_tests extends advanced_testcase {
|
||||
// Test find and find with prefix if this class implements the searchable interface.
|
||||
if ($instance->is_searchable()) {
|
||||
// Extra settings here ignore the return order of the array.
|
||||
$this->assertEqualsCanonicalizing(['test3', 'test1', 'test2', 'other3'], $instance->find_all());
|
||||
$this->assertEqualsCanonicalizing(['test3', 'test1', 'test2', 'other3'], array_values($instance->find_all()));
|
||||
|
||||
// Extra settings here ignore the return order of the array.
|
||||
$this->assertEqualsCanonicalizing(['test2', 'test1', 'test3'], $instance->find_by_prefix('test'));
|
||||
$this->assertEqualsCanonicalizing(['test2', 'test1', 'test3'], array_values($instance->find_by_prefix('test')));
|
||||
$this->assertEquals(['test2'], $instance->find_by_prefix('test2'));
|
||||
$this->assertEquals(['other3'], $instance->find_by_prefix('other'));
|
||||
$this->assertEquals([], $instance->find_by_prefix('nothere'));
|
||||
|
||||
@@ -117,9 +117,13 @@ final class provider_test extends provider_testcase {
|
||||
list($sql, $params) = $DB->get_in_or_equal([$courses[1]->id, $courses[2]->id], SQL_PARAMS_NAMED);
|
||||
$r = provider::get_customfields_data_contexts('core_course', 'course', '=0',
|
||||
$sql, $params);
|
||||
$this->assertEqualsCanonicalizing([\context_course::instance($courses[1]->id)->id,
|
||||
\context_course::instance($courses[2]->id)->id],
|
||||
$r->get_contextids());
|
||||
$this->assertEqualsCanonicalizing(
|
||||
[
|
||||
\context_course::instance($courses[1]->id)->id,
|
||||
\context_course::instance($courses[2]->id)->id,
|
||||
],
|
||||
array_values($r->get_contextids()),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -252,7 +252,7 @@ final class provider_test extends provider_testcase {
|
||||
$this->assertEqualsCanonicalizing([
|
||||
$this->contexts[1]->id,
|
||||
$this->contexts[2]->id,
|
||||
], $contextids);
|
||||
], array_values($contextids));
|
||||
|
||||
// Get contexts for the second user.
|
||||
$contextids = provider::get_contexts_for_userid($this->users[2]->id)->get_contextids();
|
||||
@@ -260,7 +260,7 @@ final class provider_test extends provider_testcase {
|
||||
$this->contexts[1]->id,
|
||||
$this->contexts[2]->id,
|
||||
$this->contexts[3]->id,
|
||||
], $contextids);
|
||||
], array_values($contextids));
|
||||
|
||||
// Get contexts for the third user.
|
||||
$contextids = provider::get_contexts_for_userid($this->users[3]->id)->get_contextids();
|
||||
@@ -268,7 +268,7 @@ final class provider_test extends provider_testcase {
|
||||
$this->contexts[1]->id,
|
||||
$this->contexts[2]->id,
|
||||
$this->contexts[3]->id,
|
||||
], $contextids);
|
||||
], array_values($contextids));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -192,19 +192,19 @@ final class provider_test extends provider_testcase {
|
||||
// Student1 has data in workshop11 (author + self reviewer), workshop12 (author) and workshop21 (reviewer).
|
||||
$contextlist = \mod_workshop\privacy\provider::get_contexts_for_userid($this->student1->id);
|
||||
$this->assertInstanceOf(\core_privacy\local\request\contextlist::class, $contextlist);
|
||||
$this->assertEqualsCanonicalizing([$context11->id, $context12->id, $context21->id], $contextlist->get_contextids());
|
||||
$this->assertEqualsCanonicalizing([$context11->id, $context12->id, $context21->id], array_values($contextlist->get_contextids()));
|
||||
|
||||
// Student2 has data in workshop11 (reviewer), workshop12 (reviewer) and workshop21 (author).
|
||||
$contextlist = \mod_workshop\privacy\provider::get_contexts_for_userid($this->student2->id);
|
||||
$this->assertEqualsCanonicalizing([$context11->id, $context12->id, $context21->id], $contextlist->get_contextids());
|
||||
$this->assertEqualsCanonicalizing([$context11->id, $context12->id, $context21->id], array_values($contextlist->get_contextids()));
|
||||
|
||||
// Student3 has data in workshop11 (reviewer).
|
||||
$contextlist = \mod_workshop\privacy\provider::get_contexts_for_userid($this->student3->id);
|
||||
$this->assertEqualsCanonicalizing([$context11->id], $contextlist->get_contextids());
|
||||
$this->assertEqualsCanonicalizing([$context11->id], array_values($contextlist->get_contextids()));
|
||||
|
||||
// Teacher4 has data in workshop12 (gradeoverby) and workshop21 (gradinggradeoverby).
|
||||
$contextlist = \mod_workshop\privacy\provider::get_contexts_for_userid($this->teacher4->id);
|
||||
$this->assertEqualsCanonicalizing([$context21->id, $context12->id], $contextlist->get_contextids());
|
||||
$this->assertEqualsCanonicalizing([$context21->id, $context12->id], array_values($contextlist->get_contextids()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -142,7 +142,7 @@ final class provider_test extends \core_privacy\tests\provider_testcase {
|
||||
$this->assertCount(2, $contextlist);
|
||||
|
||||
$contextids = $contextlist->get_contextids();
|
||||
$this->assertEqualsCanonicalizing([$coursecontext1->id, $coursecontext2->id], $contextids);
|
||||
$this->assertEqualsCanonicalizing([$coursecontext1->id, $coursecontext2->id], array_values($contextids));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -226,7 +226,11 @@ final class provider_test extends \core_privacy\tests\provider_testcase {
|
||||
$expectedcontext->id,
|
||||
$otherexpectedcontext->id,
|
||||
];
|
||||
$this->assertEqualsCanonicalizing($expectedcontexts, $contextlist->get_contextids(), 'Contexts not equal');
|
||||
$this->assertEqualsCanonicalizing(
|
||||
$expectedcontexts,
|
||||
array_values($contextlist->get_contextids()),
|
||||
'Contexts not equal',
|
||||
);
|
||||
|
||||
// Run the export_user_Data as the test user.
|
||||
$this->setUser($user);
|
||||
|
||||
@@ -48,8 +48,10 @@ final class generator_test extends advanced_testcase {
|
||||
$report = $generator->create_report(['name' => 'My report', 'source' => users::class, 'tags' => ['cat', 'dog']]);
|
||||
|
||||
$this->assertTrue(report::record_exists($report->get('id')));
|
||||
$this->assertEqualsCanonicalizing(['cat', 'dog'],
|
||||
core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $report->get('id')));
|
||||
$this->assertEqualsCanonicalizing(
|
||||
['cat', 'dog'],
|
||||
array_values(core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $report->get('id'))),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,7 +56,7 @@ final class base_test extends advanced_testcase {
|
||||
$systemreport->add_base_condition_simple('username', 'admin');
|
||||
[$where, $params] = $systemreport->get_base_condition();
|
||||
$this->assertStringMatchesFormat('username = :%a', $where);
|
||||
$this->assertEqualsCanonicalizing(['admin'], $params);
|
||||
$this->assertEqualsCanonicalizing(['admin'], array_values($params));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -409,7 +409,7 @@ final class manager_test extends \advanced_testcase {
|
||||
$manager = \core\di::get(\core_sms\manager::class);
|
||||
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->getExpectedExceptionMessage('Sensitive messages cannot be sent asynchronously');
|
||||
$this->expectExceptionMessage('Sensitive messages cannot be sent asynchronously');
|
||||
$manager->send(
|
||||
recipientnumber: '+447123456789',
|
||||
content: 'Hello, world!',
|
||||
@@ -427,7 +427,7 @@ final class manager_test extends \advanced_testcase {
|
||||
$manager = \core\di::get(\core_sms\manager::class);
|
||||
|
||||
$this->expectException(\coding_exception::class);
|
||||
$this->getExpectedExceptionMessage('Asynchronous sending is not yet implemented');
|
||||
$this->expectExceptionMessage('Asynchronous sending is not yet implemented');
|
||||
$manager->send(
|
||||
recipientnumber: '+447123456789',
|
||||
content: 'Hello, world!',
|
||||
|
||||
Reference in New Issue
Block a user