mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 19:18:44 +02:00
N°4899 - add sanitizer url since annotation and tests for sanitizer function
This commit is contained in:
@@ -359,6 +359,7 @@ class utils
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
// For URL
|
// For URL
|
||||||
|
/* @since 2.7.7, 3.0.2, 3.1.0 N°4899 */
|
||||||
case 'url':
|
case 'url':
|
||||||
$retValue = filter_var($value, FILTER_SANITIZE_URL);
|
$retValue = filter_var($value, FILTER_SANITIZE_URL);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
* @covers utils
|
* @covers utils
|
||||||
*/
|
*/
|
||||||
class UtilsTest extends \Combodo\iTop\Test\UnitTest\ItopTestCase
|
class UtilsTest extends \Combodo\iTop\Test\UnitTest\ItopDataTestCase
|
||||||
{
|
{
|
||||||
public function testEndsWith()
|
public function testEndsWith()
|
||||||
{
|
{
|
||||||
@@ -441,4 +441,50 @@ class UtilsTest extends \Combodo\iTop\Test\UnitTest\ItopTestCase
|
|||||||
'2G' => ['2G', 2 * 1024 * 1024 * 1024],
|
'2G' => ['2G', 2 * 1024 * 1024 * 1024],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test sanitizer.
|
||||||
|
*
|
||||||
|
* @param $type string type of sanitizer
|
||||||
|
* @param $valueToSanitize ? value to sanitize
|
||||||
|
* @param $expectedResult ? expected result
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @dataProvider sanitizerDataProvider
|
||||||
|
*/
|
||||||
|
public function testSanitizer($type, $valueToSanitize, $expectedResult)
|
||||||
|
{
|
||||||
|
$this->assertEquals($expectedResult, utils::Sanitize($valueToSanitize, null, $type), 'url sanitize failed');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataProvider for testSanitizer
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function sanitizerDataProvider()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'good integer' => ['integer', '2565', '2565'],
|
||||||
|
'bad integer' => ['integer', 'a2656', '2656'],
|
||||||
|
'good class' => ['class', 'UserRequest', 'UserRequest'],
|
||||||
|
'bad class' => ['class', 'MyUserRequest',null],
|
||||||
|
'good string' => ['string', 'Is Peter smart and funny?', 'Is Peter smart and funny?'],
|
||||||
|
'bad string' => ['string', 'Is Peter <smart> & funny?', 'Is Peter <smart> & funny?'],
|
||||||
|
'good transaction_id' => ['transaction_id', '8965.-dd', '8965.-dd'],
|
||||||
|
'bad transaction_id' => ['transaction_id', '8965.-dd+', null],
|
||||||
|
'good parameter' => ['parameter', 'JU8965-dd=_', 'JU8965-dd=_'],
|
||||||
|
'bad parameter' => ['parameter', '8965.-dd+', null],
|
||||||
|
'good field_name' => ['field_name', 'Name->bUzz38', 'Name->bUzz38'],
|
||||||
|
'bad field_name' => ['field_name', 'name-buzz', null],
|
||||||
|
'good context_param' => ['context_param', '%dssD25_=%:+-', '%dssD25_=%:+-'],
|
||||||
|
'bad context_param' => ['context_param', '%dssD,25_=%:+-', null],
|
||||||
|
'good element_identifier' => ['element_identifier', 'AD05nb', 'AD05nb'],
|
||||||
|
'bad element_identifier' => ['element_identifier', 'AD05nb+', 'AD05nb'],
|
||||||
|
'good url' => ['url', 'https://www.w3schools.com', 'https://www.w3schools.com'],
|
||||||
|
'bad url' => ['url', 'https://www.w3schoo<6F><6F>ls.co<63>m', 'https://www.w3schools.com'],
|
||||||
|
'raw_data' => ['raw_data', '<Test>\s😃😃😃', '<Test>\s😃😃😃'],
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user