This commit is contained in:
Jun Pataleta 2024-03-26 10:34:47 +08:00
commit 556347c4f1
No known key found for this signature in database
GPG Key ID: F83510526D99E2C7
54 changed files with 654 additions and 616 deletions

View File

@ -37,7 +37,7 @@ class api_test extends \advanced_testcase {
// Prepare the form data for adding a new policy document.
$formdata = api::form_policydoc_data(new policy_version(0));
$this->assertObjectHasAttribute('name', $formdata);
$this->assertObjectHasProperty('name', $formdata);
$this->assertArrayHasKey('text', $formdata->summary_editor);
$this->assertArrayHasKey('format', $formdata->content_editor);

View File

@ -143,7 +143,7 @@ class cli_test extends \advanced_testcase {
// Created users have data in the profile fields.
$user1 = \core_user::get_user_by_username('reznort');
$profilefields1 = profile_user_record($user1->id);
$this->assertObjectHasAttribute('superfield', $profilefields1);
$this->assertObjectHasProperty('superfield', $profilefields1);
$this->assertEquals('Loves cats', $profilefields1->superfield);
}

View File

@ -94,11 +94,11 @@ class provider_test extends provider_testcase {
$prefs = writer::with_context($sysctx)->get_user_preferences('core_auth');
$this->assertEquals(transform::yesno(false), $prefs->auth_forcepasswordchange->value);
$this->assertEquals(transform::yesno(false), $prefs->create_password->value);
$this->assertObjectNotHasAttribute('login_failed_count', $prefs);
$this->assertObjectNotHasAttribute('login_failed_count_since_success', $prefs);
$this->assertObjectNotHasAttribute('login_failed_last', $prefs);
$this->assertObjectNotHasAttribute('login_lockout', $prefs);
$this->assertObjectNotHasProperty('login_failed_count', $prefs);
$this->assertObjectNotHasProperty('login_failed_count_since_success', $prefs);
$this->assertObjectNotHasProperty('login_failed_last', $prefs);
$this->assertObjectNotHasProperty('login_lockout', $prefs);
$this->assertEquals(transform::yesno(true), $prefs->login_lockout_ignored->value);
$this->assertObjectNotHasAttribute('login_lockout_secret', $prefs);
$this->assertObjectNotHasProperty('login_lockout_secret', $prefs);
}
}

View File

@ -330,8 +330,8 @@ class badgeslib_test extends advanced_testcase {
$message = array_pop($messages);
// Check we have the expected data.
$customdata = json_decode($message->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasAttribute('hash', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertObjectHasProperty('hash', $customdata);
$user2 = $this->getDataGenerator()->create_user();
$badge->issue($user2->id, true);

View File

@ -381,12 +381,12 @@ class provider_test extends provider_testcase {
$this->assertEquals($yes, $prefs->block_is_hidden->value);
$prefs = writer::with_context($bprivatefiles->context)->get_user_context_preferences('core_block');
$this->assertObjectNotHasAttribute('block_is_docked', $prefs);
$this->assertObjectNotHasProperty('block_is_docked', $prefs);
$this->assertEquals($no, $prefs->block_is_hidden->value);
$prefs = writer::with_context($bmyprofile->context)->get_user_context_preferences('core_block');
$this->assertEquals($yes, $prefs->block_is_docked->value);
$this->assertObjectNotHasAttribute('block_is_hidden', $prefs);
$this->assertObjectNotHasProperty('block_is_hidden', $prefs);
}
/**

View File

@ -711,7 +711,7 @@ class lib_test extends \advanced_testcase {
// Test cohort_get_cohort.
$result = cohort_get_cohort($cohort1->id, $coursectx, true);
$this->assertObjectHasAttribute('customfields', $result);
$this->assertObjectHasProperty('customfields', $result);
$this->assertCount(1, $result->customfields);
$field = reset($result->customfields);
$this->assertInstanceOf(data_controller::class, $field);
@ -720,14 +720,14 @@ class lib_test extends \advanced_testcase {
// Test custom fields are not returned if not needed.
$result = cohort_get_cohort($cohort1->id, $coursectx);
$this->assertObjectNotHasAttribute('customfields', $result);
$this->assertObjectNotHasProperty('customfields', $result);
// Test cohort_get_cohorts.
$result = cohort_get_cohorts(\context_system::instance()->id, 0, 25, '', true);
$this->assertEquals(2, $result['totalcohorts']);
$this->assertEquals(2, $result['allcohorts']);
foreach ($result['cohorts'] as $cohort) {
$this->assertObjectHasAttribute('customfields', $cohort);
$this->assertObjectHasProperty('customfields', $cohort);
$this->assertCount(1, $cohort->customfields);
$field = reset($cohort->customfields);
$this->assertInstanceOf(data_controller::class, $field);
@ -745,7 +745,7 @@ class lib_test extends \advanced_testcase {
$this->assertEquals(2, $result['totalcohorts']);
$this->assertEquals(2, $result['allcohorts']);
foreach ($result['cohorts'] as $cohort) {
$this->assertObjectNotHasAttribute('customfields', $cohort);
$this->assertObjectNotHasProperty('customfields', $cohort);
}
// Test test_cohort_get_all_cohorts.
@ -753,7 +753,7 @@ class lib_test extends \advanced_testcase {
$this->assertEquals(2, $result['totalcohorts']);
$this->assertEquals(2, $result['allcohorts']);
foreach ($result['cohorts'] as $cohort) {
$this->assertObjectHasAttribute('customfields', $cohort);
$this->assertObjectHasProperty('customfields', $cohort);
$this->assertCount(1, $cohort->customfields);
$field = reset($cohort->customfields);
$this->assertInstanceOf(data_controller::class, $field);
@ -771,14 +771,14 @@ class lib_test extends \advanced_testcase {
$this->assertEquals(2, $result['totalcohorts']);
$this->assertEquals(2, $result['allcohorts']);
foreach ($result['cohorts'] as $cohort) {
$this->assertObjectNotHasAttribute('customfields', $cohort);
$this->assertObjectNotHasProperty('customfields', $cohort);
}
// Test cohort_get_available_cohorts.
$result = cohort_get_available_cohorts($coursectx, COHORT_ALL, 0, 25, '', true);
$this->assertCount(2, $result);
foreach ($result as $cohort) {
$this->assertObjectHasAttribute('customfields', $cohort);
$this->assertObjectHasProperty('customfields', $cohort);
$this->assertCount(1, $cohort->customfields);
$field = reset($cohort->customfields);
$this->assertInstanceOf(data_controller::class, $field);
@ -795,7 +795,7 @@ class lib_test extends \advanced_testcase {
$result = cohort_get_available_cohorts($coursectx, COHORT_ALL, 0, 25, '');
$this->assertCount(2, $result);
foreach ($result as $cohort) {
$this->assertObjectNotHasAttribute('customfields', $cohort);
$this->assertObjectNotHasProperty('customfields', $cohort);
}
// Test cohort_get_user_cohorts.
@ -805,7 +805,7 @@ class lib_test extends \advanced_testcase {
$result = cohort_get_user_cohorts($user->id, true);
$this->assertCount(2, $result);
foreach ($result as $cohort) {
$this->assertObjectHasAttribute('customfields', $cohort);
$this->assertObjectHasProperty('customfields', $cohort);
$this->assertCount(1, $cohort->customfields);
$field = reset($cohort->customfields);
$this->assertInstanceOf(data_controller::class, $field);
@ -822,7 +822,7 @@ class lib_test extends \advanced_testcase {
$result = cohort_get_user_cohorts($user->id);
$this->assertCount(2, $result);
foreach ($result as $cohort) {
$this->assertObjectNotHasAttribute('customfields', $cohort);
$this->assertObjectNotHasProperty('customfields', $cohort);
}
}

View File

@ -229,6 +229,6 @@ class matrix_user_manager_test extends \advanced_testcase {
$this->assertNotFalse($matrixprofilefield);
$user = $this->getDataGenerator()->create_user();
$this->assertObjectHasAttribute($matrixprofilefield, profile_user_record($user->id));
$this->assertObjectHasProperty($matrixprofilefield, profile_user_record($user->id));
}
}

View File

@ -99,7 +99,7 @@ class lib_test extends \advanced_testcase {
$this->assertEquals($expectedurlname, $message->contexturlname);
// Test customdata.
$customdata = json_decode($message->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertStringContainsString('tokenpluginfile.php', $customdata->notificationiconurl);
$userpicture = new \user_picture($u1);
$userpicture->size = 1; // Use f1 size.
@ -229,7 +229,7 @@ class lib_test extends \advanced_testcase {
$this->assertEquals($u1->id, $message->useridto);
// Test customdata.
$customdata = json_decode($message->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
// Post a comment in a plan with reviewer. The reviewer is messaged.
$p1->set('reviewerid', $u2->id);

View File

@ -5,15 +5,15 @@
"type": "project",
"homepage": "https://moodle.org",
"require-dev": {
"phpunit/phpunit": "9.5.*",
"phpunit/phpunit": "^9.6.18",
"mikey179/vfsstream": "1.6.*",
"behat/mink": "^1.10.0",
"friends-of-behat/mink-extension": "^2.7.4",
"behat/mink-browserkit-driver": "^2.1.0",
"symfony/process": "^4.4 || ^5.0 || ^6.0",
"symfony/http-client": "^4.4 || ^5.0 || ^6.0",
"symfony/mime": "^4.4 || ^5.0 || ^6.0",
"behat/behat": "3.13.*",
"behat/mink": "^1.11.0",
"friends-of-behat/mink-extension": "^2.7.5",
"behat/mink-browserkit-driver": "^2.2.0",
"symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0",
"symfony/http-client": "^4.4 || ^5.0 || ^6.0 || ^7.0",
"symfony/mime": "^4.4 || ^5.0 || ^6.0 || ^7.0",
"behat/behat": "3.14.*",
"oleg-andreyev/mink-phpwebdriver": "1.3.*",
"filp/whoops": "^2.15"
},

577
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -93,7 +93,7 @@ class update_course_test extends \externallib_advanced_testcase {
$update = $this->find_update($results, $expected['action'], 'cm', $activity->cmid);
$this->assertNotEmpty($update);
if ($expected['visible'] === null) {
$this->assertObjectNotHasAttribute('visible', $update->fields);
$this->assertObjectNotHasProperty('visible', $update->fields);
} else {
$this->assertEquals($expected['visible'], $update->fields->visible);
}

View File

@ -176,31 +176,31 @@ class activitybadge_test extends \advanced_testcase {
?array $extra = null
): void {
if (is_null($content)) {
$this->assertObjectNotHasAttribute('badgecontent', $result);
$this->assertObjectNotHasProperty('badgecontent', $result);
} else {
$this->assertEquals($content, $result->badgecontent);
}
if (is_null($style)) {
$this->assertObjectNotHasAttribute('badgestyle', $result);
$this->assertObjectNotHasProperty('badgestyle', $result);
} else {
$this->assertEquals($style, $result->badgestyle);
}
if (is_null($url)) {
$this->assertObjectNotHasAttribute('badgeurl', $result);
$this->assertObjectNotHasProperty('badgeurl', $result);
} else {
$this->assertEquals($url, $result->badgeurl);
}
if (is_null($elementid)) {
$this->assertObjectNotHasAttribute('badgeelementid', $result);
$this->assertObjectNotHasProperty('badgeelementid', $result);
} else {
$this->assertEquals($elementid, $result->badgeelementid);
}
if (is_null($extra)) {
$this->assertObjectNotHasAttribute('badgeextraattributes', $result);
$this->assertObjectNotHasProperty('badgeextraattributes', $result);
} else {
$this->assertEquals($extra, $result->badgeextraattributes);
}

View File

@ -54,23 +54,23 @@ class exporters_content_item_test extends \advanced_testcase {
$renderer = $PAGE->get_renderer('core');
$exporteditem = $ciexporter->export($renderer);
$this->assertObjectHasAttribute('id', $exporteditem);
$this->assertObjectHasProperty('id', $exporteditem);
$this->assertEquals($exporteditem->id, $contentitem->get_id());
$this->assertObjectHasAttribute('name', $exporteditem);
$this->assertObjectHasProperty('name', $exporteditem);
$this->assertEquals($exporteditem->name, $contentitem->get_name());
$this->assertObjectHasAttribute('title', $exporteditem);
$this->assertObjectHasProperty('title', $exporteditem);
$this->assertEquals($exporteditem->title, $contentitem->get_title()->get_value());
$this->assertObjectHasAttribute('link', $exporteditem);
$this->assertObjectHasProperty('link', $exporteditem);
$this->assertEquals($exporteditem->link, $contentitem->get_link()->out(false));
$this->assertObjectHasAttribute('icon', $exporteditem);
$this->assertObjectHasProperty('icon', $exporteditem);
$this->assertEquals($exporteditem->icon, $contentitem->get_icon());
$this->assertObjectHasAttribute('help', $exporteditem);
$this->assertObjectHasProperty('help', $exporteditem);
$this->assertEquals($exporteditem->help, format_text($contentitem->get_help(), FORMAT_MARKDOWN));
$this->assertObjectHasAttribute('archetype', $exporteditem);
$this->assertObjectHasProperty('archetype', $exporteditem);
$this->assertEquals($exporteditem->archetype, $contentitem->get_archetype());
$this->assertObjectHasAttribute('componentname', $exporteditem);
$this->assertObjectHasProperty('componentname', $exporteditem);
$this->assertEquals($exporteditem->componentname, $contentitem->get_component_name());
$this->assertObjectHasAttribute('legacyitem', $exporteditem);
$this->assertObjectHasProperty('legacyitem', $exporteditem);
$this->assertFalse($exporteditem->legacyitem);
$this->assertEquals($exporteditem->purpose, $contentitem->get_purpose());
$this->assertEquals($exporteditem->branded, $contentitem->is_branded());
@ -102,24 +102,24 @@ class exporters_content_item_test extends \advanced_testcase {
$renderer = $PAGE->get_renderer('core');
$exporteditem = $ciexporter->export($renderer);
$this->assertObjectHasAttribute('id', $exporteditem);
$this->assertObjectHasProperty('id', $exporteditem);
$this->assertEquals($exporteditem->id, $contentitem->get_id());
$this->assertObjectHasAttribute('name', $exporteditem);
$this->assertObjectHasProperty('name', $exporteditem);
$this->assertEquals($exporteditem->name, $contentitem->get_name());
$this->assertObjectHasAttribute('title', $exporteditem);
$this->assertObjectHasProperty('title', $exporteditem);
$this->assertEquals($exporteditem->title, $contentitem->get_title()->get_value());
$this->assertObjectHasAttribute('link', $exporteditem);
$this->assertObjectHasProperty('link', $exporteditem);
$this->assertEquals($exporteditem->link, $contentitem->get_link()->out(false));
$this->assertObjectHasAttribute('icon', $exporteditem);
$this->assertObjectHasProperty('icon', $exporteditem);
$this->assertEquals($exporteditem->icon, $contentitem->get_icon());
$this->assertObjectHasAttribute('help', $exporteditem);
$this->assertObjectHasProperty('help', $exporteditem);
$this->assertEquals($exporteditem->help, format_text($contentitem->get_help(), FORMAT_MARKDOWN));
$this->assertObjectHasAttribute('archetype', $exporteditem);
$this->assertObjectHasProperty('archetype', $exporteditem);
$this->assertEquals($exporteditem->archetype, $contentitem->get_archetype());
$this->assertObjectHasAttribute('componentname', $exporteditem);
$this->assertObjectHasProperty('componentname', $exporteditem);
$this->assertEquals($exporteditem->componentname, $contentitem->get_component_name());
// Most important, is this a legacy item?
$this->assertObjectHasAttribute('legacyitem', $exporteditem);
$this->assertObjectHasProperty('legacyitem', $exporteditem);
$this->assertTrue($exporteditem->legacyitem);
}
}

View File

@ -53,16 +53,16 @@ class exporters_content_items_test extends \advanced_testcase {
$renderer = $PAGE->get_renderer('core');
$exportedcontentitems = $ciexporter->export($renderer);
$this->assertObjectHasAttribute('content_items', $exportedcontentitems);
$this->assertObjectHasProperty('content_items', $exportedcontentitems);
foreach ($exportedcontentitems->content_items as $key => $dto) {
$this->assertObjectHasAttribute('id', $dto);
$this->assertObjectHasAttribute('name', $dto);
$this->assertObjectHasAttribute('title', $dto);
$this->assertObjectHasAttribute('link', $dto);
$this->assertObjectHasAttribute('icon', $dto);
$this->assertObjectHasAttribute('help', $dto);
$this->assertObjectHasAttribute('archetype', $dto);
$this->assertObjectHasAttribute('componentname', $dto);
$this->assertObjectHasProperty('id', $dto);
$this->assertObjectHasProperty('name', $dto);
$this->assertObjectHasProperty('title', $dto);
$this->assertObjectHasProperty('link', $dto);
$this->assertObjectHasProperty('icon', $dto);
$this->assertObjectHasProperty('help', $dto);
$this->assertObjectHasProperty('archetype', $dto);
$this->assertObjectHasProperty('componentname', $dto);
}
}
}

View File

@ -193,10 +193,10 @@ class provider_test extends \core_privacy\tests\provider_testcase {
$writer = \core_privacy\local\request\writer::with_context($context1);
$this->assertTrue($writer->has_any_data());
$writerdata = $writer->get_data();
$this->assertObjectHasAttribute('fullname', $writerdata);
$this->assertObjectHasAttribute('shortname', $writerdata);
$this->assertObjectHasAttribute('idnumber', $writerdata);
$this->assertObjectHasAttribute('summary', $writerdata);
$this->assertObjectHasProperty('fullname', $writerdata);
$this->assertObjectHasProperty('shortname', $writerdata);
$this->assertObjectHasProperty('idnumber', $writerdata);
$this->assertObjectHasProperty('summary', $writerdata);
}
/**
@ -226,10 +226,10 @@ class provider_test extends \core_privacy\tests\provider_testcase {
$writer = \core_privacy\local\request\writer::with_context($context1);
$this->assertTrue($writer->has_any_data());
$writerdata = $writer->get_data();
$this->assertObjectHasAttribute('fullname', $writerdata);
$this->assertObjectHasAttribute('shortname', $writerdata);
$this->assertObjectHasAttribute('idnumber', $writerdata);
$this->assertObjectHasAttribute('summary', $writerdata);
$this->assertObjectHasProperty('fullname', $writerdata);
$this->assertObjectHasProperty('shortname', $writerdata);
$this->assertObjectHasProperty('idnumber', $writerdata);
$this->assertObjectHasProperty('summary', $writerdata);
}
/**

View File

@ -51,14 +51,14 @@ class services_content_item_service_test extends \advanced_testcase {
$contentitems = $cis->get_content_items_for_user_in_course($user, $course);
foreach ($contentitems as $key => $contentitem) {
$this->assertObjectHasAttribute('id', $contentitem);
$this->assertObjectHasAttribute('name', $contentitem);
$this->assertObjectHasAttribute('title', $contentitem);
$this->assertObjectHasAttribute('link', $contentitem);
$this->assertObjectHasAttribute('icon', $contentitem);
$this->assertObjectHasAttribute('help', $contentitem);
$this->assertObjectHasAttribute('archetype', $contentitem);
$this->assertObjectHasAttribute('componentname', $contentitem);
$this->assertObjectHasProperty('id', $contentitem);
$this->assertObjectHasProperty('name', $contentitem);
$this->assertObjectHasProperty('title', $contentitem);
$this->assertObjectHasProperty('link', $contentitem);
$this->assertObjectHasProperty('icon', $contentitem);
$this->assertObjectHasProperty('help', $contentitem);
$this->assertObjectHasProperty('archetype', $contentitem);
$this->assertObjectHasProperty('componentname', $contentitem);
}
}

View File

@ -120,8 +120,8 @@ class content_notification_task_test extends \advanced_testcase {
$messagecustomdata = json_decode($message->customdata);
$this->assertEquals($course->id, $messagecustomdata->courseid);
$this->assertObjectHasAttribute('notificationiconurl', $messagecustomdata);
$this->assertObjectHasAttribute('notificationpictureurl', $messagecustomdata);
$this->assertObjectHasProperty('notificationiconurl', $messagecustomdata);
$this->assertObjectHasProperty('notificationpictureurl', $messagecustomdata);
}
// Now, set the course to not visible.

View File

@ -514,7 +514,7 @@ class tool_launch_service_test extends \lti_advantage_testcase {
// Instructors aren't subject to forceembed.
$launchservice->user_launches_tool($instructoruser, $mockinstructorlaunch);
$this->assertObjectNotHasAttribute('forcepagelayout', $SESSION);
$this->assertObjectNotHasProperty('forcepagelayout', $SESSION);
// Learners are.
$launchservice->user_launches_tool($learneruser, $mocklearnerlaunch);

View File

@ -296,7 +296,7 @@ class course_enrolment_manager_test extends \advanced_testcase {
$this->assertEquals('Smart suit', $user->imagealt);
// But not some random other field like city.
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectNotHasProperty('city', $user);
}
/**
@ -330,7 +330,7 @@ class course_enrolment_manager_test extends \advanced_testcase {
$this->assertEquals('Smart suit', $user->imagealt);
// But not some random other field like city.
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectNotHasProperty('city', $user);
}
/**
@ -367,7 +367,7 @@ class course_enrolment_manager_test extends \advanced_testcase {
$this->assertEquals('Smart suit', $user->imagealt);
// But not some random other field like city.
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectNotHasProperty('city', $user);
}
/**

View File

@ -952,26 +952,26 @@ class enrollib_test extends advanced_testcase {
$this->assertEquals([$course1->id, $course2->id, $course3->id], array_keys($courses));
// Check fields parameter still works. Fields default (certain base fields).
$this->assertObjectHasAttribute('id', $courses[$course3->id]);
$this->assertObjectHasAttribute('shortname', $courses[$course3->id]);
$this->assertObjectNotHasAttribute('summary', $courses[$course3->id]);
$this->assertObjectHasProperty('id', $courses[$course3->id]);
$this->assertObjectHasProperty('shortname', $courses[$course3->id]);
$this->assertObjectNotHasProperty('summary', $courses[$course3->id]);
// Specified fields (one, string).
$courses = enrol_get_my_courses('summary', 'id', 0, [], true);
$this->assertObjectHasAttribute('id', $courses[$course3->id]);
$this->assertObjectHasAttribute('shortname', $courses[$course3->id]);
$this->assertObjectHasAttribute('summary', $courses[$course3->id]);
$this->assertObjectNotHasAttribute('summaryformat', $courses[$course3->id]);
$this->assertObjectHasProperty('id', $courses[$course3->id]);
$this->assertObjectHasProperty('shortname', $courses[$course3->id]);
$this->assertObjectHasProperty('summary', $courses[$course3->id]);
$this->assertObjectNotHasProperty('summaryformat', $courses[$course3->id]);
// Specified fields (two, string).
$courses = enrol_get_my_courses('summary, summaryformat', 'id', 0, [], true);
$this->assertObjectHasAttribute('summary', $courses[$course3->id]);
$this->assertObjectHasAttribute('summaryformat', $courses[$course3->id]);
$this->assertObjectHasProperty('summary', $courses[$course3->id]);
$this->assertObjectHasProperty('summaryformat', $courses[$course3->id]);
// Specified fields (two, array).
$courses = enrol_get_my_courses(['summary', 'summaryformat'], 'id', 0, [], true);
$this->assertObjectHasAttribute('summary', $courses[$course3->id]);
$this->assertObjectHasAttribute('summaryformat', $courses[$course3->id]);
$this->assertObjectHasProperty('summary', $courses[$course3->id]);
$this->assertObjectHasProperty('summaryformat', $courses[$course3->id]);
// By default, courses are ordered by sortorder - which by default is most recent first.
$courses = enrol_get_my_courses(null, null, 0, [], true);

View File

@ -67,13 +67,13 @@ class repository_test extends \advanced_testcase {
// Verify we get the record back.
$this->assertInstanceOf(favourite::class, $favourite);
$this->assertObjectHasAttribute('id', $favourite);
$this->assertObjectHasProperty('id', $favourite);
$this->assertEquals('core_course', $favourite->component);
$this->assertEquals('course', $favourite->itemtype);
// Verify the returned object has additional properties, created as part of the add.
$this->assertObjectHasAttribute('ordering', $favourite);
$this->assertObjectHasAttribute('timecreated', $favourite);
$this->assertObjectHasProperty('ordering', $favourite);
$this->assertObjectHasProperty('timecreated', $favourite);
$this->assertGreaterThanOrEqual($timenow, $favourite->timecreated);
// Try to save the same record again and confirm the store throws an exception.
@ -137,8 +137,8 @@ class repository_test extends \advanced_testcase {
$this->assertEquals('course', $favourite->itemtype);
// Verify the returned object has additional properties, created as part of the add.
$this->assertObjectHasAttribute('ordering', $favourite);
$this->assertObjectHasAttribute('timecreated', $favourite);
$this->assertObjectHasProperty('ordering', $favourite);
$this->assertObjectHasProperty('timecreated', $favourite);
$this->assertGreaterThanOrEqual($timenow, $favourite->timecreated);
}
@ -167,7 +167,7 @@ class repository_test extends \advanced_testcase {
// Now, from the repo, get the single favourite we just created, by id.
$userfavourite = $favouritesrepo->find($favourite->id);
$this->assertInstanceOf(favourite::class, $userfavourite);
$this->assertObjectHasAttribute('timecreated', $userfavourite);
$this->assertObjectHasProperty('timecreated', $userfavourite);
// Try to get a favourite we know doesn't exist.
// We expect an exception in this case.
@ -209,8 +209,8 @@ class repository_test extends \advanced_testcase {
$this->assertCount(4, $favourites);
foreach ($favourites as $fav) {
$this->assertInstanceOf(favourite::class, $fav);
$this->assertObjectHasAttribute('id', $fav);
$this->assertObjectHasAttribute('timecreated', $fav);
$this->assertObjectHasProperty('id', $fav);
$this->assertObjectHasProperty('timecreated', $fav);
}
}

View File

@ -200,7 +200,7 @@ class user_favourite_service_test extends \advanced_testcase {
// Favourite a course.
$favourite1 = $user1service->create_favourite('core_course', 'course', $course1context->instanceid, $course1context);
$this->assertObjectHasAttribute('id', $favourite1);
$this->assertObjectHasProperty('id', $favourite1);
// Try to favourite the same course again.
$this->expectException('moodle_exception');

View File

@ -281,8 +281,8 @@ class filetypes_util_test extends advanced_testcase {
$data = $util->data_for_browser();
$this->assertContainsOnly('object', $data);
foreach ($data as $group) {
$this->assertObjectHasAttribute('key', $group);
$this->assertObjectHasAttribute('types', $group);
$this->assertObjectHasProperty('key', $group);
$this->assertObjectHasProperty('types', $group);
if ($group->key !== '') {
$this->assertTrue($group->selectable);
}

View File

@ -120,7 +120,7 @@ class advanced_test extends \advanced_testcase {
// Ensure session is reset after setUser, as it may contain extra info.
$SESSION->sometestvalue = true;
$this->setUser($user);
$this->assertObjectNotHasAttribute('sometestvalue', $SESSION);
$this->assertObjectNotHasProperty('sometestvalue', $SESSION);
}
public function test_set_admin_user() {
@ -369,7 +369,15 @@ class advanced_test extends \advanced_testcase {
]);
if ($phpwarn) {
$this->expectWarning();
// Let's convert the warnings into an assert-able exception.
set_error_handler(
static function ($errno, $errstr) {
restore_error_handler();
throw new \Exception($errstr, $errno);
},
E_WARNING // Or any other specific E_ that we want to assert.
);
$this->expectException(\Exception::class);
}
$this->assertEventContextNotUsed($event);
}

View File

@ -1685,23 +1685,23 @@ class accesslib_test extends advanced_testcase {
$this->assertDebuggingCalled('get_role_users() adding u.lastname, u.firstname to the query result because they were required by $sort but missing in $fields');
$this->assertCount(2, $users);
$this->assertArrayHasKey($user1->id, $users);
$this->assertObjectHasAttribute('lastname', $users[$user1->id]);
$this->assertObjectHasAttribute('firstname', $users[$user1->id]);
$this->assertObjectHasProperty('lastname', $users[$user1->id]);
$this->assertObjectHasProperty('firstname', $users[$user1->id]);
$this->assertArrayHasKey($user3->id, $users);
$this->assertObjectHasAttribute('lastname', $users[$user3->id]);
$this->assertObjectHasAttribute('firstname', $users[$user3->id]);
$this->assertObjectHasProperty('lastname', $users[$user3->id]);
$this->assertObjectHasProperty('firstname', $users[$user3->id]);
$users = get_role_users($teacherrole->id, $coursecontext, false, 'u.id AS id_alias');
$this->assertDebuggingCalled('get_role_users() adding u.lastname, u.firstname to the query result because they were required by $sort but missing in $fields');
$this->assertCount(2, $users);
$this->assertArrayHasKey($user1->id, $users);
$this->assertObjectHasAttribute('id_alias', $users[$user1->id]);
$this->assertObjectHasAttribute('lastname', $users[$user1->id]);
$this->assertObjectHasAttribute('firstname', $users[$user1->id]);
$this->assertObjectHasProperty('id_alias', $users[$user1->id]);
$this->assertObjectHasProperty('lastname', $users[$user1->id]);
$this->assertObjectHasProperty('firstname', $users[$user1->id]);
$this->assertArrayHasKey($user3->id, $users);
$this->assertObjectHasAttribute('id_alias', $users[$user3->id]);
$this->assertObjectHasAttribute('lastname', $users[$user3->id]);
$this->assertObjectHasAttribute('firstname', $users[$user3->id]);
$this->assertObjectHasProperty('id_alias', $users[$user3->id]);
$this->assertObjectHasProperty('lastname', $users[$user3->id]);
$this->assertObjectHasProperty('firstname', $users[$user3->id]);
$users = get_role_users($teacherrole->id, $coursecontext, false, 'u.id, u.email, u.idnumber', 'u.idnumber', null, $group->id);
$this->assertCount(1, $users);

View File

@ -76,7 +76,7 @@ class cron_test extends \advanced_testcase {
$this->assertSame($user1->id, $USER->id);
$this->assertSame($PAGE->context, \context_course::instance($SITE->id));
$this->assertNotSame($adminsession, $SESSION);
$this->assertObjectNotHasAttribute('test1', $SESSION);
$this->assertObjectNotHasProperty('test1', $SESSION);
$this->assertEmpty((array)$SESSION);
$usersession1 = $SESSION;
$SESSION->test2 = true;

View File

@ -418,7 +418,7 @@ class datalib_test extends \advanced_testcase {
$this->assertSame('folder', $cm->modname);
$this->assertSame($folder1a->id, $cm->instance);
$this->assertSame($folder1a->course, $cm->course);
$this->assertObjectNotHasAttribute('sectionnum', $cm);
$this->assertObjectNotHasProperty('sectionnum', $cm);
$this->assertEquals($cm, get_coursemodule_from_id('', $folder1a->cmid));
$this->assertEquals($cm, get_coursemodule_from_id('folder', $folder1a->cmid, $course1->id));
@ -483,7 +483,7 @@ class datalib_test extends \advanced_testcase {
$this->assertSame('folder', $cm->modname);
$this->assertSame($folder1a->id, $cm->instance);
$this->assertSame($folder1a->course, $cm->course);
$this->assertObjectNotHasAttribute('sectionnum', $cm);
$this->assertObjectNotHasProperty('sectionnum', $cm);
$this->assertEquals($cm, get_coursemodule_from_instance('folder', $folder1a->id, $course1->id));
$this->assertEquals($cm, get_coursemodule_from_instance('folder', $folder1a->id, 0));
@ -553,17 +553,17 @@ class datalib_test extends \advanced_testcase {
$this->assertSame('folder', $cm->modname);
$this->assertSame($folder1a->id, $cm->instance);
$this->assertSame($folder1a->course, $cm->course);
$this->assertObjectNotHasAttribute('sectionnum', $cm);
$this->assertObjectNotHasAttribute('revision', $cm);
$this->assertObjectNotHasAttribute('display', $cm);
$this->assertObjectNotHasProperty('sectionnum', $cm);
$this->assertObjectNotHasProperty('revision', $cm);
$this->assertObjectNotHasProperty('display', $cm);
$cm = $modules[$folder1b->cmid];
$this->assertSame('folder', $cm->modname);
$this->assertSame($folder1b->id, $cm->instance);
$this->assertSame($folder1b->course, $cm->course);
$this->assertObjectNotHasAttribute('sectionnum', $cm);
$this->assertObjectNotHasAttribute('revision', $cm);
$this->assertObjectNotHasAttribute('display', $cm);
$this->assertObjectNotHasProperty('sectionnum', $cm);
$this->assertObjectNotHasProperty('revision', $cm);
$this->assertObjectNotHasProperty('display', $cm);
$modules = get_coursemodules_in_course('folder', $course1->id, 'revision, display');
$this->assertCount(2, $modules);
@ -572,9 +572,9 @@ class datalib_test extends \advanced_testcase {
$this->assertSame('folder', $cm->modname);
$this->assertSame($folder1a->id, $cm->instance);
$this->assertSame($folder1a->course, $cm->course);
$this->assertObjectNotHasAttribute('sectionnum', $cm);
$this->assertObjectHasAttribute('revision', $cm);
$this->assertObjectHasAttribute('display', $cm);
$this->assertObjectNotHasProperty('sectionnum', $cm);
$this->assertObjectHasProperty('revision', $cm);
$this->assertObjectHasProperty('display', $cm);
$modules = get_coursemodules_in_course('label', $course1->id);
$this->assertCount(0, $modules);
@ -842,11 +842,11 @@ class datalib_test extends \advanced_testcase {
$this->assertEquals('user_a@example.com', $results[$userids[0]]->email);
$this->assertEquals(1, $results[$userids[0]]->confirmed);
$this->assertEquals('a_first', $results[$userids[0]]->firstname);
$this->assertObjectHasAttribute('firstnamephonetic', $results[$userids[0]]);
$this->assertObjectHasProperty('firstnamephonetic', $results[$userids[0]]);
// Should not have the custom field or department because no context specified.
$this->assertObjectNotHasAttribute('department', $results[$userids[0]]);
$this->assertObjectNotHasAttribute('profile_field_specialid', $results[$userids[0]]);
$this->assertObjectNotHasProperty('department', $results[$userids[0]]);
$this->assertObjectNotHasProperty('profile_field_specialid', $results[$userids[0]]);
// Check sorting.
$results = get_users_listing('username', 'DESC');
@ -867,8 +867,8 @@ class datalib_test extends \advanced_testcase {
// specify a context AND have permissions.
$results = get_users_listing('lastaccess', 'asc', 0, 0, '', '', '', '', null,
\context_system::instance());
$this->assertObjectNotHasAttribute('department', $results[$userids[0]]);
$this->assertObjectNotHasAttribute('profile_field_specialid', $results[$userids[0]]);
$this->assertObjectNotHasProperty('department', $results[$userids[0]]);
$this->assertObjectNotHasProperty('profile_field_specialid', $results[$userids[0]]);
$this->setAdminUser();
$results = get_users_listing('lastaccess', 'asc', 0, 0, '', '', '', '', null,
\context_system::instance());

View File

@ -214,36 +214,36 @@ class filetypes_test extends \advanced_testcase {
$this->resetAfterTest();
// The custom filetypes setting is empty to start with.
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
// Add a custom filetype, then delete it.
core_filetypes::add_type('frog', 'application/x-frog', 'document');
$this->assertObjectHasAttribute('customfiletypes', $CFG);
$this->assertObjectHasProperty('customfiletypes', $CFG);
core_filetypes::delete_type('frog');
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
// Change a standard filetype, then change it back.
core_filetypes::update_type('asm', 'asm', 'text/plain', 'document');
$this->assertObjectHasAttribute('customfiletypes', $CFG);
$this->assertObjectHasProperty('customfiletypes', $CFG);
core_filetypes::update_type('asm', 'asm', 'text/plain', 'sourcecode');
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
// Delete a standard filetype, then add it back (the same).
core_filetypes::delete_type('asm');
$this->assertObjectHasAttribute('customfiletypes', $CFG);
$this->assertObjectHasProperty('customfiletypes', $CFG);
core_filetypes::add_type('asm', 'text/plain', 'sourcecode');
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
// Revert a changed type.
core_filetypes::update_type('asm', 'asm', 'text/plain', 'document');
$this->assertObjectHasAttribute('customfiletypes', $CFG);
$this->assertObjectHasProperty('customfiletypes', $CFG);
core_filetypes::revert_type_to_default('asm');
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
// Revert a deleted type.
core_filetypes::delete_type('asm');
$this->assertObjectHasAttribute('customfiletypes', $CFG);
$this->assertObjectHasProperty('customfiletypes', $CFG);
core_filetypes::revert_type_to_default('asm');
$this->assertObjectNotHasAttribute('customfiletypes', $CFG);
$this->assertObjectNotHasProperty('customfiletypes', $CFG);
}
}

View File

@ -656,9 +656,9 @@ class grouplib_test extends \advanced_testcase {
// Get the data.
$data = groups_get_course_data($course->id);
$this->assertInstanceOf('stdClass', $data);
$this->assertObjectHasAttribute('groups', $data);
$this->assertObjectHasAttribute('groupings', $data);
$this->assertObjectHasAttribute('mappings', $data);
$this->assertObjectHasProperty('groups', $data);
$this->assertObjectHasProperty('groupings', $data);
$this->assertObjectHasProperty('mappings', $data);
// Test we have the expected items returns.
$this->assertCount(4, $data->groups);

View File

@ -50,7 +50,7 @@ class timing_wrapper_lock_factory_test extends \advanced_testcase {
$duration = microtime(true) - $before;
// Confirm that perf info is now logged and appears plausible.
$this->assertObjectHasAttribute('locks', $PERF);
$this->assertObjectHasProperty('locks', $PERF);
$this->assertEquals('phpunit', $PERF->locks[0]->type);
$this->assertEquals('frog', $PERF->locks[0]->resource);
$this->assertTrue($PERF->locks[0]->wait <= $duration);

View File

@ -2145,11 +2145,7 @@ EOF;
public function test_get_string_limitation() {
// This is one of the limitations to the lang_string class. It can't be
// used as a key.
if (PHP_VERSION_ID >= 80000) {
$this->expectException(\TypeError::class);
} else {
$this->expectWarning();
}
$this->expectException(\TypeError::class);
$array = array(get_string('yes', null, null, true) => 'yes');
}
@ -3159,8 +3155,8 @@ EOF;
$this->assertTimeCurrent($USER->currentlogin);
$this->assertSame(sesskey(), $USER->sesskey);
$this->assertTimeCurrent($USER->preference['_lastloaded']);
$this->assertObjectNotHasAttribute('password', $USER);
$this->assertObjectNotHasAttribute('description', $USER);
$this->assertObjectNotHasProperty('password', $USER);
$this->assertObjectNotHasProperty('description', $USER);
}
/**

View File

@ -99,15 +99,15 @@ class session_manager_test extends \advanced_testcase {
$this->assertEquals(0, $USER->id);
$user = $this->getDataGenerator()->create_user();
$this->assertObjectHasAttribute('description', $user);
$this->assertObjectHasAttribute('password', $user);
$this->assertObjectHasProperty('description', $user);
$this->assertObjectHasProperty('password', $user);
\core\session\manager::set_user($user);
$this->assertEquals($user->id, $USER->id);
$this->assertObjectNotHasAttribute('description', $user);
$this->assertObjectNotHasAttribute('password', $user);
$this->assertObjectHasAttribute('sesskey', $user);
$this->assertObjectNotHasProperty('description', $user);
$this->assertObjectNotHasProperty('password', $user);
$this->assertObjectHasProperty('sesskey', $user);
$this->assertSame($user, $GLOBALS['USER']);
$this->assertSame($GLOBALS['USER'], $_SESSION['USER']);
$this->assertSame($GLOBALS['USER'], $USER);
@ -124,8 +124,8 @@ class session_manager_test extends \advanced_testcase {
@\core\session\manager::login_user($user); // Ignore header error messages.
$this->assertEquals($user->id, $USER->id);
$this->assertObjectNotHasAttribute('description', $user);
$this->assertObjectNotHasAttribute('password', $user);
$this->assertObjectNotHasProperty('description', $user);
$this->assertObjectNotHasProperty('password', $user);
$this->assertSame($user, $GLOBALS['USER']);
$this->assertSame($GLOBALS['USER'], $_SESSION['USER']);
$this->assertSame($GLOBALS['USER'], $USER);
@ -558,7 +558,7 @@ class session_manager_test extends \advanced_testcase {
$_SESSION['extra'] = true;
// Try admin loginas this user in system context.
$this->assertObjectNotHasAttribute('realuser', $USER);
$this->assertObjectNotHasProperty('realuser', $USER);
\core\session\manager::loginas($user->id, \context_system::instance());
$this->assertSame($user->id, $USER->id);

View File

@ -76,7 +76,7 @@ class sessionlib_test extends \advanced_testcase {
$this->assertSame($user1->id, $USER->id);
$this->assertSame($PAGE->context, \context_course::instance($SITE->id));
$this->assertNotSame($adminsession, $SESSION);
$this->assertObjectNotHasAttribute('test1', $SESSION);
$this->assertObjectNotHasProperty('test1', $SESSION);
$this->assertEmpty((array)$SESSION);
$usersession1 = $SESSION;
$SESSION->test2 = true;
@ -261,7 +261,7 @@ class sessionlib_test extends \advanced_testcase {
$user = $this->getDataGenerator()->create_user();
\core\session\manager::init_empty_session();
$this->assertObjectNotHasAttribute('sesskey', $USER);
$this->assertObjectNotHasProperty('sesskey', $USER);
$sesskey = sesskey();
$this->assertNotEmpty($sesskey);

View File

@ -915,8 +915,8 @@ class upgradelib_test extends advanced_testcase {
foreach ($licenses as $license) {
$this->assertContains($license->shortname, $expectedshortnames);
$this->assertObjectHasAttribute('custom', $license);
$this->assertObjectHasAttribute('sortorder', $license);
$this->assertObjectHasProperty('custom', $license);
$this->assertObjectHasProperty('sortorder', $license);
}
// A core license which was deleted prior to upgrade should not be reinstalled.
$actualshortnames = $DB->get_records_menu('license', null, '', 'id, shortname');
@ -1568,7 +1568,7 @@ calendar,core_calendar|/calendar/view.php?view=month',
public function test_moodle_start_upgrade_outageless() {
global $CFG;
$this->resetAfterTest();
$this->assertObjectNotHasAttribute('upgraderunning', $CFG);
$this->assertObjectNotHasProperty('upgraderunning', $CFG);
// Confirm that starting normally sets the upgraderunning flag.
upgrade_started();
@ -1592,7 +1592,7 @@ calendar,core_calendar|/calendar/view.php?view=month',
public function test_moodle_set_upgrade_timeout_outageless() {
global $CFG;
$this->resetAfterTest();
$this->assertObjectNotHasAttribute('upgraderunning', $CFG);
$this->assertObjectNotHasProperty('upgraderunning', $CFG);
// Confirm running normally sets the timeout.
upgrade_set_timeout(120);

View File

@ -178,12 +178,12 @@ class user_test extends \advanced_testcase {
$this->assertEquals('House', $result[0]->lastname);
$this->assertEquals('house@x.x', $result[0]->email);
$this->assertEquals(0, $result[0]->deleted);
$this->assertObjectHasAttribute('firstnamephonetic', $result[0]);
$this->assertObjectHasAttribute('lastnamephonetic', $result[0]);
$this->assertObjectHasAttribute('middlename', $result[0]);
$this->assertObjectHasAttribute('alternatename', $result[0]);
$this->assertObjectHasAttribute('imagealt', $result[0]);
$this->assertObjectHasAttribute('username', $result[0]);
$this->assertObjectHasProperty('firstnamephonetic', $result[0]);
$this->assertObjectHasProperty('lastnamephonetic', $result[0]);
$this->assertObjectHasProperty('middlename', $result[0]);
$this->assertObjectHasProperty('alternatename', $result[0]);
$this->assertObjectHasProperty('imagealt', $result[0]);
$this->assertObjectHasProperty('username', $result[0]);
// Now search by lastname, both names, and partials, case-insensitive.
$this->assertEquals($result, \core_user::search('House'));

View File

@ -100,6 +100,43 @@ information provided here is intended especially for developers.
* core\hook\manager::phpunit_get_instance() now sets self::$instance to the mocked instance if the optional $persist argument is
true, so future calls to ::get_instance() will return it.
* The triggerSelector method in the `core/comboboxsearch/search_combobox` JS module is deprecated. It was not used.
* PHPUnit has been upgraded to 9.6 (see MDL-81266 for details).
The main goal of the update is to allow developers to know in advance,
via deprecations, which stuff is going to stop working (because of being removed)
with PHPUnit 10 (see MDL-80969 for details). Other than that, the changes are minimal.
This is the list of noticeable changes:
- Deprecation: MDL-81281. A number of attribute-related assertions have been deprecated, will
be removed with PHPUnit 10. Alternatives for *some* of them are available:
- assertClassHasAttribute()
- assertClassNotHasAttribute()
- assertClassHasStaticAttribute()
- assertClassNotHasStaticAttribute()
- assertObjectHasAttribute() => assertObjectHasProperty()
- assertObjectNotHasAttribute() => assertObjectNotHasProperty()
- Deprecation: MDL-81266. A number of deprecation/notice/warning/error expectations have
been deprecated, will be removed with PHPUnit 10. No alternative exists. A working
replacement is available in the linked issue, hopefully there aren't many cases.
- expectDeprecation()
- expectDeprecationMessage()
- expectDeprecationMessageMatches()
- expectError()
- expectErrorMessage()
- expectErrorMessageMatches()
- expectNotice()
- expectNoticeMessage()
- expectNoticeMessageMatches()
- expectWarning()
- expectWarningMessage()
- expectWarningMessageMatches()
- Deprecation: MDL-81308. The ->withConsecutive() functionality on PHPUnit mocks
has been *silently* deprecated, will be removed with PHPUnit 10. Note that this
won't affect PHPUnit 9.6 runs and an alternative path will be
proposed in the linked issue, part of the PHPUnit 10 epic.
- Deprecation: PHPUnit\Framework\TestCase::getMockClass() has been deprecated, will
be removed with PHPUnit 10. No clear alternative exists and won't be investigated,
because there aren't cases in core.
- Deprecation: Cannot use the "Test" suffix on abstract test case classes. Proceed to
rename them to end with "TestCase" instead.
=== 4.3 ===

View File

@ -171,10 +171,10 @@ class statement_test extends advanced_testcase {
$alldefined = array_merge($extras, $extravalues);
foreach ($allextras as $extra) {
if (in_array($extra, $alldefined)) {
$this->assertObjectHasAttribute($extra, $data);
$this->assertObjectHasProperty($extra, $data);
$this->assertNotEmpty($data->$extra);
} else {
$this->assertObjectNotHasAttribute($extra, $data);
$this->assertObjectNotHasProperty($extra, $data);
}
}
}
@ -305,10 +305,10 @@ class statement_test extends advanced_testcase {
$alldefined = array_merge($extras, $extravalues);
foreach ($allextras as $extra) {
if (in_array($extra, $alldefined)) {
$this->assertObjectHasAttribute($extra, $data);
$this->assertObjectHasProperty($extra, $data);
$this->assertNotEmpty($data->object);
} else {
$this->assertObjectNotHasAttribute($extra, $data);
$this->assertObjectNotHasProperty($extra, $data);
}
}
}
@ -340,7 +340,7 @@ class statement_test extends advanced_testcase {
// Check resulting json.
$statementdata = json_decode(json_encode($statement));
$this->assertObjectHasAttribute('attachments', $statementdata);
$this->assertObjectHasProperty('attachments', $statementdata);
$this->assertNotEmpty($statementdata->attachments);
$this->assertCount(1, $statementdata->attachments);
}
@ -382,7 +382,7 @@ class statement_test extends advanced_testcase {
$this->assertEquals($itemdata->length, $attachmentdata->length);
$statementdata = json_decode(json_encode($statement));
$this->assertObjectHasAttribute('attachments', $statementdata);
$this->assertObjectHasProperty('attachments', $statementdata);
$this->assertNotEmpty($statementdata->attachments);
$this->assertCount(1, $statementdata->attachments);

View File

@ -101,7 +101,7 @@ class externallib_test extends \advanced_testcase {
$found = 0;
foreach ($result['notifications'] as $notification) {
if (!empty($notification->customdata)) {
$this->assertObjectHasAttribute('datakey', json_decode($notification->customdata));
$this->assertObjectHasProperty('datakey', json_decode($notification->customdata));
$found++;
}
}

View File

@ -1212,36 +1212,36 @@ class api_test extends messagelib_test {
// Verify format of the return structure.
foreach ($conversations as $conv) {
$this->assertObjectHasAttribute('id', $conv);
$this->assertObjectHasAttribute('name', $conv);
$this->assertObjectHasAttribute('subname', $conv);
$this->assertObjectHasAttribute('imageurl', $conv);
$this->assertObjectHasAttribute('type', $conv);
$this->assertObjectHasAttribute('isfavourite', $conv);
$this->assertObjectHasAttribute('membercount', $conv);
$this->assertObjectHasAttribute('isread', $conv);
$this->assertObjectHasAttribute('unreadcount', $conv);
$this->assertObjectHasAttribute('members', $conv);
$this->assertObjectHasProperty('id', $conv);
$this->assertObjectHasProperty('name', $conv);
$this->assertObjectHasProperty('subname', $conv);
$this->assertObjectHasProperty('imageurl', $conv);
$this->assertObjectHasProperty('type', $conv);
$this->assertObjectHasProperty('isfavourite', $conv);
$this->assertObjectHasProperty('membercount', $conv);
$this->assertObjectHasProperty('isread', $conv);
$this->assertObjectHasProperty('unreadcount', $conv);
$this->assertObjectHasProperty('members', $conv);
foreach ($conv->members as $member) {
$this->assertObjectHasAttribute('id', $member);
$this->assertObjectHasAttribute('fullname', $member);
$this->assertObjectHasAttribute('profileimageurl', $member);
$this->assertObjectHasAttribute('profileimageurlsmall', $member);
$this->assertObjectHasAttribute('isonline', $member);
$this->assertObjectHasAttribute('showonlinestatus', $member);
$this->assertObjectHasAttribute('isblocked', $member);
$this->assertObjectHasAttribute('iscontact', $member);
$this->assertObjectHasAttribute('isdeleted', $member);
$this->assertObjectHasAttribute('canmessage', $member);
$this->assertObjectHasAttribute('requirescontact', $member);
$this->assertObjectHasAttribute('contactrequests', $member);
$this->assertObjectHasProperty('id', $member);
$this->assertObjectHasProperty('fullname', $member);
$this->assertObjectHasProperty('profileimageurl', $member);
$this->assertObjectHasProperty('profileimageurlsmall', $member);
$this->assertObjectHasProperty('isonline', $member);
$this->assertObjectHasProperty('showonlinestatus', $member);
$this->assertObjectHasProperty('isblocked', $member);
$this->assertObjectHasProperty('iscontact', $member);
$this->assertObjectHasProperty('isdeleted', $member);
$this->assertObjectHasProperty('canmessage', $member);
$this->assertObjectHasProperty('requirescontact', $member);
$this->assertObjectHasProperty('contactrequests', $member);
}
$this->assertObjectHasAttribute('messages', $conv);
$this->assertObjectHasProperty('messages', $conv);
foreach ($conv->messages as $message) {
$this->assertObjectHasAttribute('id', $message);
$this->assertObjectHasAttribute('useridfrom', $message);
$this->assertObjectHasAttribute('text', $message);
$this->assertObjectHasAttribute('timecreated', $message);
$this->assertObjectHasProperty('id', $message);
$this->assertObjectHasProperty('useridfrom', $message);
$this->assertObjectHasProperty('text', $message);
$this->assertObjectHasProperty('timecreated', $message);
}
}
}
@ -4232,8 +4232,8 @@ class api_test extends messagelib_test {
$sink->close();
// Test customdata.
$customdata = json_decode($messages[0]->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasAttribute('actionbuttons', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertObjectHasProperty('actionbuttons', $customdata);
$this->assertCount(2, (array) $customdata->actionbuttons);
$this->assertEquals($user1->id, $request->userid);
@ -4308,12 +4308,12 @@ class api_test extends messagelib_test {
$this->assertEquals($user2->id, $request->id);
$this->assertEquals(fullname($user2), $request->fullname);
$this->assertObjectHasAttribute('profileimageurl', $request);
$this->assertObjectHasAttribute('profileimageurlsmall', $request);
$this->assertObjectHasAttribute('isonline', $request);
$this->assertObjectHasAttribute('showonlinestatus', $request);
$this->assertObjectHasAttribute('isblocked', $request);
$this->assertObjectHasAttribute('iscontact', $request);
$this->assertObjectHasProperty('profileimageurl', $request);
$this->assertObjectHasProperty('profileimageurlsmall', $request);
$this->assertObjectHasProperty('isonline', $request);
$this->assertObjectHasProperty('showonlinestatus', $request);
$this->assertObjectHasProperty('isblocked', $request);
$this->assertObjectHasProperty('iscontact', $request);
}
/**
@ -4980,7 +4980,7 @@ class api_test extends messagelib_test {
$this->assertEquals(true, $member1->showonlinestatus);
$this->assertEquals(false, $member1->iscontact);
$this->assertEquals(false, $member1->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member1);
$this->assertObjectHasProperty('contactrequests', $member1);
$this->assertEmpty($member1->contactrequests);
$this->assertEquals($user2->id, $member2->id);
@ -4989,7 +4989,7 @@ class api_test extends messagelib_test {
$this->assertEquals(true, $member2->showonlinestatus);
$this->assertEquals(true, $member2->iscontact);
$this->assertEquals(false, $member2->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member2);
$this->assertObjectHasProperty('contactrequests', $member2);
$this->assertEmpty($member2->contactrequests);
$this->assertEquals($user3->id, $member3->id);
@ -4998,7 +4998,7 @@ class api_test extends messagelib_test {
$this->assertEquals(true, $member3->showonlinestatus);
$this->assertEquals(false, $member3->iscontact);
$this->assertEquals(true, $member3->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member3);
$this->assertObjectHasProperty('contactrequests', $member3);
$this->assertEmpty($member3->contactrequests);
}
@ -5149,18 +5149,18 @@ class api_test extends messagelib_test {
$messages = $messagessink->get_messages();
// Test customdata.
$customdata = json_decode($messages[0]->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasAttribute('actionbuttons', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertObjectHasProperty('actionbuttons', $customdata);
$this->assertCount(1, (array) $customdata->actionbuttons);
$this->assertObjectHasAttribute('placeholders', $customdata);
$this->assertObjectHasProperty('placeholders', $customdata);
$this->assertCount(1, (array) $customdata->placeholders);
// Verify the message returned.
$this->assertInstanceOf(\stdClass::class, $message1);
$this->assertObjectHasAttribute('id', $message1);
$this->assertObjectHasProperty('id', $message1);
$this->assertEquals($user1->id, $message1->useridfrom);
$this->assertEquals('this is a message', $message1->text);
$this->assertObjectHasAttribute('timecreated', $message1);
$this->assertObjectHasProperty('timecreated', $message1);
// Verify events. Note: the event is a message read event because of an if (PHPUNIT) conditional within message_send(),
// however, we can still determine the number and ids of any recipients this way.
@ -5199,17 +5199,17 @@ class api_test extends messagelib_test {
$messages = $messagessink->get_messages();
// Verify the message returned.
$this->assertInstanceOf(\stdClass::class, $message1);
$this->assertObjectHasAttribute('id', $message1);
$this->assertObjectHasProperty('id', $message1);
$this->assertEquals($user1->id, $message1->useridfrom);
$this->assertEquals('message to the group', $message1->text);
$this->assertObjectHasAttribute('timecreated', $message1);
$this->assertObjectHasProperty('timecreated', $message1);
// Test customdata.
$customdata = json_decode($messages[0]->customdata);
$this->assertObjectHasAttribute('actionbuttons', $customdata);
$this->assertObjectHasProperty('actionbuttons', $customdata);
$this->assertCount(1, (array) $customdata->actionbuttons);
$this->assertObjectHasAttribute('placeholders', $customdata);
$this->assertObjectHasProperty('placeholders', $customdata);
$this->assertCount(1, (array) $customdata->placeholders);
$this->assertObjectNotHasAttribute('notificationiconurl', $customdata); // No group image means no image.
$this->assertObjectNotHasProperty('notificationiconurl', $customdata); // No group image means no image.
// Verify events. Note: the event is a message read event because of an if (PHPUNIT) conditional within message_send(),
// however, we can still determine the number and ids of any recipients this way.
@ -5268,14 +5268,14 @@ class api_test extends messagelib_test {
$messages = $messagessink->get_messages();
// Verify the message returned.
$this->assertInstanceOf(\stdClass::class, $message1);
$this->assertObjectHasAttribute('id', $message1);
$this->assertObjectHasProperty('id', $message1);
$this->assertEquals($user1->id, $message1->useridfrom);
$this->assertEquals('message to the group', $message1->text);
$this->assertObjectHasAttribute('timecreated', $message1);
$this->assertObjectHasProperty('timecreated', $message1);
// Test customdata.
$customdata = json_decode($messages[0]->customdata);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasAttribute('notificationsendericonurl', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertObjectHasProperty('notificationsendericonurl', $customdata);
$this->assertEquals($groupimageurl, $customdata->notificationiconurl);
$this->assertEquals($group->name, $customdata->conversationname);
$userpicture = new \user_picture($user1);

View File

@ -1484,7 +1484,7 @@ class externallib_test extends externallib_advanced_testcase {
$messages = external_api::clean_returnvalue(core_message_external::get_messages_returns(), $messages);
$this->assertCount(1, $messages['messages']);
// Check we receive custom data as a unserialisable json.
$this->assertObjectHasAttribute('datakey', json_decode($messages['messages'][0]['customdata']));
$this->assertObjectHasProperty('datakey', json_decode($messages['messages'][0]['customdata']));
$this->assertEquals('mod_feedback', $messages['messages'][0]['component']);
$this->assertEquals('submission', $messages['messages'][0]['eventtype']);
$feedbackicon = clean_param($PAGE->get_renderer('core')->image_url('monologo', 'mod_feedback')->out(), PARAM_URL);
@ -4527,7 +4527,7 @@ class externallib_test extends externallib_advanced_testcase {
$this->assertEquals(true, $member1->showonlinestatus);
$this->assertEquals(false, $member1->iscontact);
$this->assertEquals(false, $member1->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member1);
$this->assertObjectHasProperty('contactrequests', $member1);
$this->assertEmpty($member1->contactrequests);
$this->assertEquals($user2->id, $member2->id);
@ -4536,7 +4536,7 @@ class externallib_test extends externallib_advanced_testcase {
$this->assertEquals(true, $member2->showonlinestatus);
$this->assertEquals(true, $member2->iscontact);
$this->assertEquals(false, $member2->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member2);
$this->assertObjectHasProperty('contactrequests', $member2);
$this->assertEmpty($member2->contactrequests);
$this->assertEquals($user3->id, $member3->id);
@ -4545,7 +4545,7 @@ class externallib_test extends externallib_advanced_testcase {
$this->assertEquals(true, $member3->showonlinestatus);
$this->assertEquals(false, $member3->iscontact);
$this->assertEquals(true, $member3->isblocked);
$this->assertObjectHasAttribute('contactrequests', $member3);
$this->assertObjectHasProperty('contactrequests', $member3);
$this->assertEmpty($member3->contactrequests);
}
@ -4712,12 +4712,12 @@ class externallib_test extends externallib_advanced_testcase {
external_api::clean_returnvalue(core_message_external::send_messages_to_conversation_returns(), $writtenmessages);
$this->assertCount(2, $writtenmessages);
$this->assertObjectHasAttribute('id', $writtenmessages[0]);
$this->assertObjectHasProperty('id', $writtenmessages[0]);
$this->assertEquals($user1->id, $writtenmessages[0]->useridfrom);
$this->assertEquals('<p>a message from user 1</p>', $writtenmessages[0]->text);
$this->assertNotEmpty($writtenmessages[0]->timecreated);
$this->assertObjectHasAttribute('id', $writtenmessages[1]);
$this->assertObjectHasProperty('id', $writtenmessages[1]);
$this->assertEquals($user1->id, $writtenmessages[1]->useridfrom);
$this->assertEquals('<p>another message from user 1</p>', $writtenmessages[1]->text);
$this->assertNotEmpty($writtenmessages[1]->timecreated);
@ -4764,12 +4764,12 @@ class externallib_test extends externallib_advanced_testcase {
external_api::clean_returnvalue(core_message_external::send_messages_to_conversation_returns(), $writtenmessages);
$this->assertCount(2, $writtenmessages);
$this->assertObjectHasAttribute('id', $writtenmessages[0]);
$this->assertObjectHasProperty('id', $writtenmessages[0]);
$this->assertEquals($user1->id, $writtenmessages[0]->useridfrom);
$this->assertEquals('<p>a message from user 1 to group conv</p>', $writtenmessages[0]->text);
$this->assertNotEmpty($writtenmessages[0]->timecreated);
$this->assertObjectHasAttribute('id', $writtenmessages[1]);
$this->assertObjectHasProperty('id', $writtenmessages[1]);
$this->assertEquals($user1->id, $writtenmessages[1]->useridfrom);
$this->assertEquals('<p>another message from user 1 to group conv</p>', $writtenmessages[1]->text);
$this->assertNotEmpty($writtenmessages[1]->timecreated);

View File

@ -759,7 +759,7 @@ class external_test extends externallib_advanced_testcase {
$customdata = json_decode($messages[0]->customdata);
$this->assertEquals($this->feedback->id, $customdata->instance);
$this->assertEquals($this->feedback->cmid, $customdata->cmid);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
}
/**

View File

@ -1606,8 +1606,8 @@ class mail_test extends \advanced_testcase {
$this->assertEquals($forum->cmid, $customdata->cmid);
$this->assertEquals($post->id, $customdata->postid);
$this->assertEquals($discussion->id, $customdata->discussionid);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasAttribute('actionbuttons', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
$this->assertObjectHasProperty('actionbuttons', $customdata);
$this->assertCount(1, (array) $customdata->actionbuttons);
}
}

View File

@ -302,21 +302,21 @@ class locallib_test extends mod_lti_testcase {
// Try when the forcessl config property is not set.
lti_prepare_type_for_save($type, $config);
$this->assertObjectHasAttribute('lti_forcessl', $config);
$this->assertObjectHasProperty('lti_forcessl', $config);
$this->assertEquals(0, $config->lti_forcessl);
$this->assertEquals(0, $type->forcessl);
// Try when forcessl config property is set.
$config->lti_forcessl = 1;
lti_prepare_type_for_save($type, $config);
$this->assertObjectHasAttribute('lti_forcessl', $config);
$this->assertObjectHasProperty('lti_forcessl', $config);
$this->assertEquals(1, $config->lti_forcessl);
$this->assertEquals(1, $type->forcessl);
// Try when forcessl config property is set to 0.
$config->lti_forcessl = 0;
lti_prepare_type_for_save($type, $config);
$this->assertObjectHasAttribute('lti_forcessl', $config);
$this->assertObjectHasProperty('lti_forcessl', $config);
$this->assertEquals(0, $config->lti_forcessl);
$this->assertEquals(0, $type->forcessl);
}

View File

@ -1553,7 +1553,7 @@ class external_test extends externallib_advanced_testcase {
$this->assertEquals($quizobj->get_quizid(), $customdata->instance);
$this->assertEquals($quizobj->get_cmid(), $customdata->cmid);
$this->assertEquals($attempt->id, $customdata->attemptid);
$this->assertObjectHasAttribute('notificationiconurl', $customdata);
$this->assertObjectHasProperty('notificationiconurl', $customdata);
}
// Start new attempt.

View File

@ -269,7 +269,7 @@ class provider_test extends provider_testcase {
$workshop = $writer->get_data([]);
$this->assertEquals('Workshop11', $workshop->name);
$this->assertObjectHasAttribute('phase', $workshop);
$this->assertObjectHasProperty('phase', $workshop);
$mysubmission = $writer->get_data([
get_string('mysubmission', 'mod_workshop'),

View File

@ -226,9 +226,9 @@ class column_manager_test extends advanced_testcase {
$questionlistcolumns = $columnmanager->get_columns();
$this->assertIsArray($questionlistcolumns);
foreach ($questionlistcolumns as $columnnobject) {
$this->assertObjectHasAttribute('class', $columnnobject);
$this->assertObjectHasAttribute('name', $columnnobject);
$this->assertObjectHasAttribute('colname', $columnnobject);
$this->assertObjectHasProperty('class', $columnnobject);
$this->assertObjectHasProperty('name', $columnnobject);
$this->assertObjectHasProperty('colname', $columnnobject);
}
}

View File

@ -356,10 +356,10 @@ class externallib_test extends externallib_advanced_testcase {
$this->assertEquals($expected->qtype, $actual->qtype);
// These values are added by the formatting. It doesn't matter what the
// exact values are just that they are returned.
$this->assertObjectHasAttribute('icon', $actual);
$this->assertObjectHasAttribute('key', $actual->icon);
$this->assertObjectHasAttribute('component', $actual->icon);
$this->assertObjectHasAttribute('alttext', $actual->icon);
$this->assertObjectHasProperty('icon', $actual);
$this->assertObjectHasProperty('key', $actual->icon);
$this->assertObjectHasProperty('component', $actual->icon);
$this->assertObjectHasProperty('alttext', $actual->icon);
}
/**

View File

@ -201,7 +201,7 @@ class question_type_test extends \advanced_testcase {
}
}
$this->assertObjectHasAttribute('subquestions', $actualquestiondata->options);
$this->assertObjectHasProperty('subquestions', $actualquestiondata->options);
$subqpropstoignore = array('id');
foreach ($questiondata->options->subquestions as $subq) {

View File

@ -313,7 +313,7 @@ class question_type_test extends \advanced_testcase {
}
}
$this->assertObjectHasAttribute('questions', $actualquestiondata->options);
$this->assertObjectHasProperty('questions', $actualquestiondata->options);
$subqpropstoignore =
['id', 'category', 'parent', 'contextid', 'question', 'options', 'stamp', 'timemodified',

View File

@ -58,7 +58,7 @@ class custom_report_details_exporter_test extends advanced_testcase {
$this->assertEquals(users::get_name(), $export->sourcename);
// We use the user exporter for the modifier of the report.
$this->assertObjectHasAttribute('modifiedby', $export);
$this->assertObjectHasProperty('modifiedby', $export);
$this->assertEquals(fullname($user), $export->modifiedby->fullname);
}
}

View File

@ -98,11 +98,11 @@ class custom_report_exporter_test extends advanced_testcase {
], $export->attributes);
// The following are all generated by additional exporters, and should not be present when not editing.
$this->assertObjectNotHasAttribute('sidebarmenucards', $export);
$this->assertObjectNotHasAttribute('conditions', $export);
$this->assertObjectNotHasAttribute('filters', $export);
$this->assertObjectNotHasAttribute('sorting', $export);
$this->assertObjectNotHasAttribute('cardview', $export);
$this->assertObjectNotHasProperty('sidebarmenucards', $export);
$this->assertObjectNotHasProperty('conditions', $export);
$this->assertObjectNotHasProperty('filters', $export);
$this->assertObjectNotHasProperty('sorting', $export);
$this->assertObjectNotHasProperty('cardview', $export);
}
/**

View File

@ -391,12 +391,12 @@ class fields_test extends \advanced_testcase {
$this->assertCount(2, $records);
// User id was renamed.
$this->assertObjectNotHasAttribute('id', $records['XXX1']);
$this->assertObjectHasAttribute('userid', $records['XXX1']);
$this->assertObjectNotHasProperty('id', $records['XXX1']);
$this->assertObjectHasProperty('userid', $records['XXX1']);
// Other fields are normal (just try a couple).
$this->assertObjectHasAttribute('firstname', $records['XXX1']);
$this->assertObjectHasAttribute('imagealt', $records['XXX1']);
$this->assertObjectHasProperty('firstname', $records['XXX1']);
$this->assertObjectHasProperty('imagealt', $records['XXX1']);
// Check the user id is actually right.
$this->assertEquals('XXX1',
@ -415,13 +415,13 @@ class fields_test extends \advanced_testcase {
$this->assertCount(2, $records);
// User id was renamed.
$this->assertObjectNotHasAttribute('id', $records['XXX1']);
$this->assertObjectNotHasAttribute('u_id', $records['XXX1']);
$this->assertObjectHasAttribute('userid', $records['XXX1']);
$this->assertObjectNotHasProperty('id', $records['XXX1']);
$this->assertObjectNotHasProperty('u_id', $records['XXX1']);
$this->assertObjectHasProperty('userid', $records['XXX1']);
// Other fields are prefixed (just try a couple).
$this->assertObjectHasAttribute('u_firstname', $records['XXX1']);
$this->assertObjectHasAttribute('u_imagealt', $records['XXX1']);
$this->assertObjectHasProperty('u_firstname', $records['XXX1']);
$this->assertObjectHasProperty('u_imagealt', $records['XXX1']);
// Without a leading comma.
['selects' => $selects, 'joins' => $joins, 'params' => $joinparams] =
@ -437,8 +437,8 @@ class fields_test extends \advanced_testcase {
// ID should be the first field used by get_records_sql.
$this->assertEquals($key, $record->id);
// Check 2 other sample properties.
$this->assertObjectHasAttribute('firstname', $record);
$this->assertObjectHasAttribute('imagealt', $record);
$this->assertObjectHasProperty('firstname', $record);
$this->assertObjectHasProperty('imagealt', $record);
}
}

View File

@ -56,10 +56,10 @@ class profilelib_test extends \advanced_testcase {
$this->assertArrayNotHasKey($id1, profile_get_custom_fields(true));
// Check that profile_user_record returns same (no) fields.
$this->assertObjectNotHasAttribute('frogdesc', profile_user_record($user->id));
$this->assertObjectNotHasProperty('frogdesc', profile_user_record($user->id));
// Check that profile_user_record returns all the fields when requested.
$this->assertObjectHasAttribute('frogdesc', profile_user_record($user->id, false));
$this->assertObjectHasProperty('frogdesc', profile_user_record($user->id, false));
// Add another custom field, this time of normal text type.
$id2 = $this->getDataGenerator()->create_custom_profile_field(array(
@ -75,10 +75,10 @@ class profilelib_test extends \advanced_testcase {
$this->assertArrayHasKey($id2, profile_get_custom_fields(true));
// Check profile_user_record returns same field.
$this->assertObjectHasAttribute('frogname', profile_user_record($user->id));
$this->assertObjectHasProperty('frogname', profile_user_record($user->id));
// Check that profile_user_record returns all the fields when requested.
$this->assertObjectHasAttribute('frogname', profile_user_record($user->id, false));
$this->assertObjectHasProperty('frogname', profile_user_record($user->id, false));
}
/**
@ -233,7 +233,7 @@ class profilelib_test extends \advanced_testcase {
$this->assertEquals('Gryffindor', $profilefields1->house);
$profilefields2 = profile_user_record($harry->id);
$this->assertObjectHasAttribute('house', $profilefields2);
$this->assertObjectHasProperty('house', $profilefields2);
$this->assertNull($profilefields2->house);
}

View File

@ -75,9 +75,9 @@ class userselector_test extends \advanced_testcase {
foreach ($selector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectNotHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectNotHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
}
@ -95,17 +95,17 @@ class userselector_test extends \advanced_testcase {
foreach ($systemselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectNotHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectNotHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
foreach ($courseselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
}
}
}
@ -124,9 +124,9 @@ class userselector_test extends \advanced_testcase {
foreach ($courseselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
}
@ -144,17 +144,17 @@ class userselector_test extends \advanced_testcase {
foreach ($systemselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
}
}
foreach ($courseselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
}
}
}
@ -178,17 +178,17 @@ class userselector_test extends \advanced_testcase {
foreach ($systemselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
foreach ($courseselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
}
}
}
@ -209,17 +209,17 @@ class userselector_test extends \advanced_testcase {
foreach ($systemselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
foreach ($courseselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectNotHasAttribute('country', $user);
$this->assertObjectNotHasAttribute('city', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectNotHasProperty('country', $user);
$this->assertObjectNotHasProperty('city', $user);
}
}
}
@ -242,21 +242,21 @@ class userselector_test extends \advanced_testcase {
foreach ($implicitselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectNotHasAttribute('email', $user);
$this->assertObjectNotHasAttribute('department', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
$this->assertObjectNotHasProperty('email', $user);
$this->assertObjectNotHasProperty('department', $user);
}
}
foreach ($explicitselector->find_users('') as $found) {
foreach ($found as $user) {
$this->assertObjectHasAttribute('idnumber', $user);
$this->assertObjectHasAttribute('country', $user);
$this->assertObjectHasAttribute('city', $user);
$this->assertObjectNotHasAttribute('email', $user);
$this->assertObjectNotHasAttribute('department', $user);
$this->assertObjectHasProperty('idnumber', $user);
$this->assertObjectHasProperty('country', $user);
$this->assertObjectHasProperty('city', $user);
$this->assertObjectNotHasProperty('email', $user);
$this->assertObjectNotHasProperty('department', $user);
}
}
}