1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-17 22:28:46 +01:00
php-phpbb/tests/functions/validate_hex_colour_test.php
DinHere 8c9d26db1f
[ticket/15392] Changed dirname(__FILE__) to __DIR__
Changed dirname(__FILE__) to __DIR__ everywhere

PHPBB3-15392
2021-03-03 22:24:10 +01:00

126 lines
2.4 KiB
PHP

<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
require_once __DIR__ . '/../../phpBB/includes/functions_user.php';
class phpbb_functions_validate_hex_colour_test extends phpbb_test_case
{
public function positive_match_data()
{
return array(
array('a00'),
array('AFF'),
array('AA0000'),
array('aa00FF'),
array('000'),
array('000000'),
);
}
public function negative_match_data()
{
return array(
// Invalid prefix
array('#aa0'),
array('#AA0000'),
array('vAA0000'),
// Invalid suffix
array('AA0000v'),
// Correct length, but out of hex range
array('ag0'),
array('AAG000'),
// Too long
array('AA00000'),
array('AA0000 '),
array('AA0000 abf'),
array('AA0000 AA0000'),
// empty()
array('0'),
);
}
public function optional_only_data()
{
return array(
// The empty colour, i.e. "no colour".
array(''),
);
}
public function strict_negative_match_data()
{
return array_merge(
$this->negative_match_data(),
$this->optional_only_data()
);
}
public function nonstrict_positive_match_data()
{
return array_merge(
$this->positive_match_data(),
$this->optional_only_data()
);
}
/**
* @dataProvider positive_match_data
*/
public function test_strict_positive_match($input)
{
$this->assertFalse(
phpbb_validate_hex_colour($input, false),
"Failed asserting that $input passes as a valid hex colour."
);
}
/**
* @dataProvider strict_negative_match_data
*/
public function test_strict_negative_match($input)
{
$this->assertSame(
'WRONG_DATA',
phpbb_validate_hex_colour($input, false),
"Failed asserting that $input does not pass as a valid hex colour."
);
}
/**
* @dataProvider nonstrict_positive_match_data
*/
public function test_nonstrict_positive_match($input)
{
$this->assertFalse(
phpbb_validate_hex_colour($input, true),
"Failed asserting that $input passes as a valid or optional hex colour."
);
}
/**
* @dataProvider negative_match_data
*/
public function test_nonstrict_negative_match($input)
{
$this->assertSame(
'WRONG_DATA',
phpbb_validate_hex_colour($input, true),
"Failed asserting that $input does not pass as a valid or optional hex colour."
);
}
}