[ticket/16524] Add test

PHPBB3-16524
This commit is contained in:
rxu 2020-06-10 18:37:13 +07:00 committed by Marc Alexander
parent acd824d432
commit ab3d8ade72
No known key found for this signature in database
GPG key ID: 50E0D2423696F995

View file

@ -46,4 +46,89 @@ class phpbb_functional_ucp_profile_test extends phpbb_functional_test_case
$this->assertEquals('phpbb_twitter', $form->get('pf_phpbb_twitter')->getValue()); $this->assertEquals('phpbb_twitter', $form->get('pf_phpbb_twitter')->getValue());
$this->assertEquals('phpbb.youtube', $form->get('pf_phpbb_youtube')->getValue()); $this->assertEquals('phpbb.youtube', $form->get('pf_phpbb_youtube')->getValue());
} }
public function test_submitting_emoji_allowed()
{
$this->add_lang('ucp');
$this->login();
$crawler = self::request('GET', 'ucp.php?i=ucp_profile&mode=profile_info');
$this->assertContainsLang('UCP_PROFILE_PROFILE_INFO', $crawler->filter('#cp-main h2')->text());
$form = $crawler->selectButton('Submit')->form([
'pf_phpbb_location' => '😁', // grinning face with smiling eyes Emoji
]);
$crawler = self::submit($form);
$this->assertContainsLang('PROFILE_UPDATED', $crawler->filter('#message')->text());
$crawler = self::request('GET', 'ucp.php?i=ucp_profile&mode=profile_info');
$form = $crawler->selectButton('Submit')->form();
$this->assertEquals('😁', $form->get('pf_phpbb_location')->getValue());
}
public function test_submitting_emoji_disallowed()
{
$this->add_lang(['ucp', 'acp/permissions']);
$this->login();
$this->admin_login();
// Group global permissions
$crawler = self::request('GET', 'adm/index.php?i=acp_permissions&icat=16&mode=setting_group_global&sid=' . $this->sid);
$this->assertContainsLang('ACP_GROUPS_PERMISSIONS_EXPLAIN', $this->get_content());
// Select Registered users group
$form = $crawler->selectButton($this->lang('SUBMIT'))->form(['group_id' => [2]]);
$crawler = self::submit($form);
$this->assertContainsLang('ACL_SET', $crawler->filter('h1')->eq(1)->text());
// Globals for \phpbb\auth\auth
global $db, $cache;
$db = $this->get_db();
$cache = new phpbb_mock_null_cache;
$auth = new \phpbb\auth\auth;
// Hardcoded user_id
$user_data = $auth->obtain_user_data(2);
$auth->acl($user_data);
$this->assertEquals(1, $auth->acl_get('u_emoji'));
// Set u_emoji to never
$form = $crawler->selectButton($this->lang('APPLY_PERMISSIONS'))->form(['setting[2][0][u_emoji]' => '0']);
$crawler = self::submit($form);
$this->assertContainsLang('AUTH_UPDATED', $crawler->text());
// check acl again
$auth = new \phpbb\auth\auth;
$user_data = $auth->obtain_user_data(2);
$auth->acl($user_data);
$this->assertEquals(0, $auth->acl_get('u_emoji'));
$crawler = self::request('GET', 'ucp.php?i=ucp_profile&mode=profile_info');
$this->assertContainsLang('UCP_PROFILE_PROFILE_INFO', $crawler->filter('#cp-main h2')->text());
$form = $crawler->selectButton('Submit')->form([
'pf_phpbb_location' => '😁', // grinning face with smiling eyes Emoji
]);
$crawler = self::submit($form);
$this->assertContains('The field “Location” has invalid characters.', $crawler->filter('p[class="error"]')->text());
// Set u_emoji back to Yes
$crawler = self::request('GET', 'adm/index.php?i=acp_permissions&icat=16&mode=setting_group_global&sid=' . $this->sid);
$this->assertContainsLang('ACP_GROUPS_PERMISSIONS_EXPLAIN', $this->get_content());
// Select Registered users group
$form = $crawler->selectButton($this->lang('SUBMIT'))->form(['group_id' => [2]]);
$crawler = self::submit($form);
$this->assertContainsLang('ACL_SET', $crawler->filter('h1')->eq(1)->text());
// Set u_emoji to never
$form = $crawler->selectButton($this->lang('APPLY_PERMISSIONS'))->form(["setting[2][0][u_emoji]" => '1']);
$crawler = self::submit($form);
$this->assertContainsLang('AUTH_UPDATED', $crawler->text());
// check acl again
$auth = new \phpbb\auth\auth;
$user_data = $auth->obtain_user_data(2);
$auth->acl($user_data);
$this->assertEquals(1, $auth->acl_get('u_emoji'));
}
} }