From 77282401e39157559465d474693aafa67dd5f199 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 23 Feb 2017 22:25:25 +0900 Subject: [PATCH] Add even more unit tests for malformed filter detection --- tests/unit/classes/TemplateHandlerTest.php | 33 +++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/tests/unit/classes/TemplateHandlerTest.php b/tests/unit/classes/TemplateHandlerTest.php index 17550f586..17a578e2c 100644 --- a/tests/unit/classes/TemplateHandlerTest.php +++ b/tests/unit/classes/TemplateHandlerTest.php @@ -419,17 +419,42 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test '

{$foo|link:$url}

', PHP_EOL . '$this->config->autoescape = \'on\'; ?>

config->autoescape === \'on\' ? htmlspecialchars($__Context->url, ENT_COMPAT, \'UTF-8\', false) : $__Context->url) . \'">\' . ($this->config->autoescape === \'on\' ? htmlspecialchars($__Context->foo, ENT_COMPAT, \'UTF-8\', false) : $__Context->foo) . \'\' ?>

' ), + // Rhymix filters (reject malformed filters) array( '

{$foo|dafuq}

', '?>

' ), array( - '

{$foo||$bar}

', - '?>

foo||$__Context->bar ?>

' + '

{$foo|4}

', + '?>

foo|4 ?>

' ), array( - '

{htmlspecialchars($var, ENT_COMPAT|ENT_HTML401)}

', - '?>

var, ENT_COMPAT|ENT_HTML401) ?>

' + '

{$foo|a+7|lower}

', + '?>

foo|a+7) ?>

' + ), + array( + '

{$foo|Filter}

', + '?>

foo|Filter ?>

' + ), + array( + '

{$foo|filter++}

', + '?>

foo|filter++ ?>

' + ), + array( + '

{$foo|filter:}

', + '?>

foo|filter: ?>

' + ), + array( + '

{$foo|$bar}

', + '?>

foo|$__Context->bar ?>

' + ), + array( + '

{$foo||bar}

', + '?>

foo||bar ?>

' + ), + array( + '

{htmlspecialchars($var, ENT_COMPAT | ENT_HTML401)}

', + '?>

var, ENT_COMPAT | ENT_HTML401) ?>

' ), array( '

{$foo | $bar}

',