assertTrue($filter instanceof Zend_Filter_TwoWay); $this->assertTrue($filter instanceof Zend_Filter_TwoWay_TwoWayInterface); } /** * Tests DefaultNamespace */ public function testDefaultNamespace() { $filter = new Zend_Filter_TwoWay_OneTwo(); $this->assertEquals('Zend_Filter_TwoWay_OneTwo', Zend_Filter_TwoWay_OneTwo::getDefaultNamespace()); Zend_Filter_TwoWay_OneTwo::setDefaultNamespace('Zend_Filter_Word'); $this->assertEquals('Zend_Filter_Word', Zend_Filter_TwoWay_OneTwo::getDefaultNamespace()); } /** * Tests DefaultAdapter */ public function testDefaultAdapter() { $filter = new Zend_Filter_TwoWay_OneTwo(); $this->assertEquals('Zend_Filter_TwoWay_OneTwo_Strrev', Zend_Filter_TwoWay_OneTwo::getDefaultAdapter()); Zend_Filter_TwoWay_OneTwo::setDefaultAdapter('Int'); $this->assertEquals('Int', Zend_Filter_TwoWay_OneTwo::getDefaultAdapter()); } /** * Tests filtering */ public function testFiltering() { $filter = new Zend_Filter_TwoWay_OneTwo(); $orig = "Original"; $this->assertEquals(strrev($orig), $filter->filter($orig)); $this->assertEquals(strrev($orig), $filter->filter($orig, false)); $this->assertEquals(strrev($orig), $filter->filterTo($orig)); $this->assertEquals($orig, $filter->filter($orig, true)); $this->assertEquals($orig, $filter->filterFrom($orig)); } /** * Tests stringing */ public function testToString() { $filter = new Zend_Filter_TwoWay_OneTwo(); $this->assertEquals('Strrev', $filter->toString()); } /** * Tests setAdapter */ public function testSetAdapter1() { $filter = new Zend_Filter_TwoWay_OneTwo(); $filter->setAdapter('Zend_Filter_TwoWay_OneTwo_Strrev'); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_TwoWay_OneTwo_Strrev); } /** * Tests setAdapter */ public function testSetAdapter2() { $filter = new Zend_Filter_TwoWay_OneTwo(array('adapter' => 'Zend_Filter_TwoWay_OneTwo_Strrev')); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_TwoWay_OneTwo_Strrev); } /** * Tests setAdapter */ public function testFalseSetAdapter() { $filter = new Zend_Filter_TwoWay_OneTwo(); $filter->setDefaultAdapter(null); try { $filter->setAdapter(null); $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->assertEquals("This filter needs the option 'adapter'", $e->getMessage()); } } /** * Tests setAdapter */ public function testFalseSetAdapter2() { $filter = new Zend_Filter_TwoWay_OneTwo(); require_once 'Zend/Filter/Int.php'; try { $filter->setAdapter('Zend_Filter_Int'); $this->fail('Expected exception when setting a false 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 testSetAdapterWithOption1() { $filter = new Zend_Filter_TwoWay_OneTwo(); $type = $filter->getType(); $this->assertEquals(null, $type); $filter->setAdapter(array('adapter' => 'Zend_Filter_TwoWay_OneTwo_Strrev', 'type' => 'TEST')); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_TwoWay_OneTwo_Strrev); $this->assertEquals('TEST', $filter->getType()); $filter->setType('TYPE'); $this->assertEquals('TYPE', $filter->getType()); } /** * Tests setAdapter */ public function testSetAdapterWithOption2() { $filter = new Zend_Filter_TwoWay_OneTwo(array('adapter' => 'Zend_Filter_TwoWay_OneTwo_Strrev', 'type' => 'TEST')); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_TwoWay_OneTwo_Strrev); $this->assertEquals('TEST', $filter->getType()); $filter->setType('TYPE'); $this->assertEquals('TYPE', $filter->getType()); } /** * Tests setAdapter */ public function testFalseSetOption() { $filter = new Zend_Filter_TwoWay_OneTwo(array('adapter' => 'Zend_Filter_TwoWay_OneTwo_Strrev', 'type' => 'TEST')); $this->assertEquals('TEST', $filter->getType()); try { $filter->setUnknown(); $this->fail('Expected exception when using a non existing method'); } catch(Exception $e) { $this->assertType('Zend_Filter_Exception', $e, 'Expected object of type Zend_Filter_Exception, got '.get_class($e)); $this->assertContains("Unknown method", $e->getMessage()); } } /** * Tests setAdapter */ public function testSetAdapterWithConfigOption() { require_once 'Zend/Config.php'; $options = array('adapter' => 'Zend_Filter_TwoWay_OneTwo_Strrev', 'type' => 'TEST'); $config = new Zend_Config($options); $filter = new Zend_Filter_TwoWay_OneTwo($config); $this->assertTrue($filter->getAdapter() instanceof Zend_Filter_TwoWay_OneTwo_Strrev); $this->assertEquals('TEST', $filter->getType()); } } // Call Zend_Filter_TwoWayTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD === 'Zend_Filter_TwoWayTest::main') { Zend_Filter_TwoWayTest::main(); }