mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
[ticket/11538] Make sure group color can't exceed maximum of 6 characters
In order to prevent future issues with this, a basic set of functional tests for the UCP groups manage page have been added. PHPBB3-11538
This commit is contained in:
parent
45e014d35d
commit
b7b0b0ccc3
2 changed files with 71 additions and 0 deletions
|
@ -597,6 +597,16 @@ class ucp_groups
|
||||||
|
|
||||||
if (!sizeof($error))
|
if (!sizeof($error))
|
||||||
{
|
{
|
||||||
|
// Make sure maximum length of 6 of group color is not exceeded
|
||||||
|
if (strpos($submit_ary['colour'], '#') === 0)
|
||||||
|
{
|
||||||
|
$submit_ary['colour'] = substr($submit_ary['colour'], 1, 6);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$submit_ary['colour'] = substr($submit_ary['colour'], 0, 6);
|
||||||
|
}
|
||||||
|
|
||||||
// Only set the rank, colour, etc. if it's changed or if we're adding a new
|
// Only set the rank, colour, etc. if it's changed or if we're adding a new
|
||||||
// group. This prevents existing group members being updated if no changes
|
// group. This prevents existing group members being updated if no changes
|
||||||
// were made.
|
// were made.
|
||||||
|
|
61
tests/functional/ucp_groups_test.php
Normal file
61
tests/functional/ucp_groups_test.php
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2013 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group functional
|
||||||
|
*/
|
||||||
|
class phpbb_functional_ucp_groups_test extends phpbb_functional_test_case
|
||||||
|
{
|
||||||
|
public function test_groups_manage()
|
||||||
|
{
|
||||||
|
$values = array();
|
||||||
|
$this->login();
|
||||||
|
$this->add_lang(array('ucp', 'acp/groups'));
|
||||||
|
|
||||||
|
$crawler = $this->request('GET', 'ucp.php?i=groups&mode=manage&action=edit&g=5&sid=' . $this->sid);
|
||||||
|
$this->assert_response_success();
|
||||||
|
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||||
|
$form['group_colour']->setValue('#AA0000');
|
||||||
|
$crawler = $this->client->submit($form);
|
||||||
|
$this->assertContains($this->lang('GROUP_UPDATED'), $crawler->text());
|
||||||
|
|
||||||
|
$crawler = $this->request('GET', 'ucp.php?i=groups&mode=manage&action=edit&g=5&sid=' . $this->sid);
|
||||||
|
$this->assert_response_success();
|
||||||
|
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||||
|
$values = $form->getValues();
|
||||||
|
$this->assertContains('AA0000', $values['group_colour']);
|
||||||
|
$form['group_colour']->setValue('AA0000');
|
||||||
|
$crawler = $this->client->submit($form);
|
||||||
|
$this->assertContains($this->lang('GROUP_UPDATED'), $crawler->text());
|
||||||
|
|
||||||
|
$crawler = $this->request('GET', 'ucp.php?i=groups&mode=manage&action=edit&g=5&sid=' . $this->sid);
|
||||||
|
$this->assert_response_success();
|
||||||
|
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||||
|
$values = $form->getValues();
|
||||||
|
$this->assertContains('AA0000', $values['group_colour']);
|
||||||
|
$form['group_colour']->setValue('AA0000v');
|
||||||
|
$crawler = $this->client->submit($form);
|
||||||
|
$this->assertContains($this->lang('GROUP_UPDATED'), $crawler->text());
|
||||||
|
|
||||||
|
$crawler = $this->request('GET', 'ucp.php?i=groups&mode=manage&action=edit&g=5&sid=' . $this->sid);
|
||||||
|
$this->assert_response_success();
|
||||||
|
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||||
|
$values = $form->getValues();
|
||||||
|
$this->assertContains('AA0000', $values['group_colour']);
|
||||||
|
$form['group_colour']->setValue('vAA0000');
|
||||||
|
$crawler = $this->client->submit($form);
|
||||||
|
$this->assertContains($this->lang('GROUP_UPDATED'), $crawler->text());
|
||||||
|
|
||||||
|
$crawler = $this->request('GET', 'ucp.php?i=groups&mode=manage&action=edit&g=5&sid=' . $this->sid);
|
||||||
|
$this->assert_response_success();
|
||||||
|
$form = $crawler->selectButton($this->lang('SUBMIT'))->form();
|
||||||
|
$values = $form->getValues();
|
||||||
|
$this->assertContains('vAA000', $values['group_colour']);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue