assertTrue($filter instanceof Zend_Filter_Encode); $this->assertTrue($filter instanceof Zend_Filter_TwoWay); $this->assertTrue($filter instanceof Zend_Filter_TwoWay_TwoWayInterface); } /** * Tests DefaultAdapter */ public function testDefaultAdapter() { $filter = new Zend_Filter_Encode(); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_Encode_Base64); } /** * Tests filtering */ public function testFiltering() { $filter = new Zend_Filter_Encode(); $orig = "Original"; $this->assertEquals(base64_encode($orig), $filter->filter($orig)); $this->assertEquals(base64_encode($orig), $filter->filter($orig, false)); $this->assertEquals(base64_encode($orig), $filter->filterTo($orig)); $this->assertEquals(base64_encode($orig), $filter->encode($orig)); $filt = base64_encode($orig); $this->assertEquals($orig, $filter->filter($filt, true)); $this->assertEquals($orig, $filter->filterFrom($filt)); $this->assertEquals($orig, $filter->decode($filt)); } /** * Tests stringing */ public function testToString() { $filter = new Zend_Filter_Encode(); $this->assertEquals('Base64', $filter->toString()); } /** * Tests setAdapter */ public function testSetAdapter1() { $filter = new Zend_Filter_Encode(); $filter->setAdapter('Json'); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_Encode_Json); } /** * Tests setAdapter */ public function testSetAdapter2() { $filter = new Zend_Filter_Encode(array('adapter' => 'Json')); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_Encode_Json); } /** * Tests setAdapter */ public function testFalseSetAdapter() { $filter = new Zend_Filter_Encode(); try { $filter->setAdapter('Zend_Filter_Int'); $this->fail('Expected exception when setting no adapter'); } catch(Exception $e) { $this->assertType('Zend_Filter_Exception', $e, 'Expected object of type Zend_Filter_Exception, got '.get_class($e)); $this->assertContains("does not implement Zend_Filter_TwoWay_TwoWayInterface", $e->getMessage()); } } /** * Tests setAdapter */ public function testSetAdapterWithConfigOption() { require_once 'Zend/Config.php'; $options = array('adapter' => 'Zend_Filter_Encode_Json'); $config = new Zend_Config($options); $filter = new Zend_Filter_Encode($config); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_Encode_Json); } /** * Tests base64 adapter */ public function testBase64() { $filter = new Zend_Filter_Encode('Base64'); $orig = "Original"; $this->assertEquals(base64_encode($orig), $filter->filter($orig)); $this->assertEquals(base64_encode($orig), $filter->filter($orig, false)); $this->assertEquals(base64_encode($orig), $filter->filterTo($orig)); $this->assertEquals(base64_encode($orig), $filter->encode($orig)); $filt = base64_encode($orig); $this->assertEquals($orig, $filter->filter($filt, true)); $this->assertEquals($orig, $filter->filterFrom($filt)); $this->assertEquals($orig, $filter->decode($filt)); $this->assertEquals('Base64',$filter->toString()); } /** * Tests json adapter */ public function testJson() { $filter = new Zend_Filter_Encode('Json'); $orig = "Original"; $this->assertEquals(json_encode($orig), $filter->filter($orig)); $this->assertEquals(json_encode($orig), $filter->filter($orig, false)); $this->assertEquals(json_encode($orig), $filter->filterTo($orig)); $this->assertEquals(json_encode($orig), $filter->encode($orig)); $filt = json_encode($orig); $this->assertEquals($orig, $filter->filter($filt, true)); $this->assertEquals($orig, $filter->filterFrom($filt)); $this->assertEquals($orig, $filter->decode($filt)); $this->assertEquals('Json',$filter->toString()); } /** * Tests url adapter */ public function testUrl() { $filter = new Zend_Filter_Encode('Url'); $orig = "Original&Test"; $this->assertEquals(urlencode($orig), $filter->filter($orig)); $this->assertEquals(urlencode($orig), $filter->filter($orig, false)); $this->assertEquals(urlencode($orig), $filter->filterTo($orig)); $this->assertEquals(urlencode($orig), $filter->encode($orig)); $filt = urlencode($orig); $this->assertEquals($orig, $filter->filter($filt, true)); $this->assertEquals($orig, $filter->filterFrom($filt)); $this->assertEquals($orig, $filter->decode($filt)); $filter->setRaw(true); $this->assertEquals(rawurlencode($orig), $filter->filter($orig)); $this->assertEquals(rawurlencode($orig), $filter->filter($orig, false)); $this->assertEquals(rawurlencode($orig), $filter->filterTo($orig)); $this->assertEquals(rawurlencode($orig), $filter->encode($orig)); $filt = rawurlencode($orig); $this->assertEquals($orig, $filter->filter($filt, true)); $this->assertEquals($orig, $filter->filterFrom($filt)); $this->assertEquals($orig, $filter->decode($filt)); $this->assertEquals('Url',$filter->toString()); } } // Call Zend_Filter_EncodeTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD === 'Zend_Filter_EncodeTest::main') { Zend_Filter_EncodeTest::main(); }