/ */ class P4Cms_View_Helper_EscapeAttrTest extends TestCase { /** * Test attributes escaping. */ public function testEscape() { $tests = array( array( 'original' => "abc", 'escaped' => "abc" ), array( 'original' => "0123456789", 'escaped' => "0123456789" ), array( 'original' => ",.-_", //safe chars 'escaped' => ",.-_" ), array( 'original' => "Text 123", 'escaped' => "Text <tag> 123" ), array( 'original' => "_a,b", 'escaped' => "_a,b" ), array( 'original' => "a-b;x", 'escaped' => "a-b;x" ), array( 'original' => "1..n +- %x", 'escaped' => "1..n +- %x" ), array( 'original' => "abcd (1,2_3)", 'escaped' => "abcd<XYZ> (1,2_3)" ), array( 'original' => '\\n', 'escaped' => "\n" ), array( 'original' => "\n", 'escaped' => " " ), array( 'original' => chr(13), // \r 'escaped' => " " ), array( 'original' => chr(11), 'escaped' => " " ), array( 'original' => "\">ij", 'escaped' => "">ij" ), array( 'original' => '_' . chr(47) . '09' . chr(58) . '-' . chr(64) . 'AZ' . chr(91) . '-' . chr(96) . 'az' . chr(123), 'escaped' => "_/09:-@AZ[-`az{" ), ); $view = new Zend_View; $view->setEncoding('UTF-8'); $helper = new P4Cms_View_Helper_EscapeAttr; $helper->setView($view); foreach ($tests as $test) { $this->assertSame( $test['escaped'], $helper->escapeAttr($test['original']), "Unexpected escaping of '{$test['original']}'." ); } } }