_createFilter(array(0x61, 0x62), array(0x63, 0x64)); $this->assertEquals( array(0x59, 0x60, 0x63, 0x64, 0x65), $filter->filter(array(0x59, 0x60, 0x61, 0x62, 0x65)) ); } public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() { $filter = $this->_createFilter(array(0x61, 0x62), array(0x63, 0x64)); $this->assertTrue($filter->shouldBuffer(array(0x59, 0x60, 0x61)), '%s: Filter should buffer since 0x61 0x62 is the needle and the ending '. '0x61 could be from 0x61 0x62' ); } public function testFilterCanMakeMultipleReplacements() { $filter = $this->_createFilter(array(array(0x61), array(0x62)), array(0x63)); $this->assertEquals( array(0x60, 0x63, 0x60, 0x63, 0x60), $filter->filter(array(0x60, 0x61, 0x60, 0x62, 0x60)) ); } public function testMultipleReplacementsCanBeDifferent() { $filter = $this->_createFilter(array(array(0x61), array(0x62)), array(array(0x63), array(0x64))); $this->assertEquals( array(0x60, 0x63, 0x60, 0x64, 0x60), $filter->filter(array(0x60, 0x61, 0x60, 0x62, 0x60)) ); } public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() { $filter = $this->_createFilter(array(0x0D, 0x0A), array(0x0A)); $this->assertFalse($filter->shouldBuffer(array(0x61, 0x62, 0x0D, 0x0A, 0x63)), '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' ); } public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() { $filter = $this->_createFilter(array(array(0x61, 0x62), array(0x63)), array(0x64)); $this->assertTrue($filter->shouldBuffer(array(0x59, 0x60, 0x61)), '%s: Filter should buffer since 0x61 0x62 is a needle and the ending '. '0x61 could be from 0x61 0x62' ); } public function testConvertingAllLineEndingsToCRLFWhenInputIsLF() { $filter = $this->_createFilter( array(array(0x0D, 0x0A), array(0x0D), array(0x0A)), array(array(0x0A), array(0x0A), array(0x0D, 0x0A)) ); $this->assertEquals( array(0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63), $filter->filter(array(0x60, 0x0A, 0x61, 0x0A, 0x62, 0x0A, 0x63)) ); } public function testConvertingAllLineEndingsToCRLFWhenInputIsCR() { $filter = $this->_createFilter( array(array(0x0D, 0x0A), array(0x0D), array(0x0A)), array(array(0x0A), array(0x0A), array(0x0D, 0x0A)) ); $this->assertEquals( array(0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63), $filter->filter(array(0x60, 0x0D, 0x61, 0x0D, 0x62, 0x0D, 0x63)) ); } public function testConvertingAllLineEndingsToCRLFWhenInputIsCRLF() { $filter = $this->_createFilter( array(array(0x0D, 0x0A), array(0x0D), array(0x0A)), array(array(0x0A), array(0x0A), array(0x0D, 0x0A)) ); $this->assertEquals( array(0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63), $filter->filter(array(0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63)) ); } public function testConvertingAllLineEndingsToCRLFWhenInputIsLFCR() { $filter = $this->_createFilter( array(array(0x0D, 0x0A), array(0x0D), array(0x0A)), array(array(0x0A), array(0x0A), array(0x0D, 0x0A)) ); $this->assertEquals( array(0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63), $filter->filter(array(0x60, 0x0A, 0x0D, 0x61, 0x0A, 0x0D, 0x62, 0x0A, 0x0D, 0x63)) ); } public function testConvertingAllLineEndingsToCRLFWhenInputContainsLFLF() { //Lighthouse Bug #23 $filter = $this->_createFilter( array(array(0x0D, 0x0A), array(0x0D), array(0x0A)), array(array(0x0A), array(0x0A), array(0x0D, 0x0A)) ); $this->assertEquals( array(0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63), $filter->filter(array(0x60, 0x0A, 0x0A, 0x61, 0x0A, 0x0A, 0x62, 0x0A, 0x0A, 0x63)) ); } private function _createFilter($search, $replace) { return new Swift_StreamFilters_ByteArrayReplacementFilter($search, $replace); } } __halt_compiler();----SIGNATURE:----VoGXt19gpaGaUf607acDnRgw6w4c6reTjnhWou/wdSg4Z/NZqD0WzS9PX9Rkd+Pzz1/c43F1vgtER/P4p1qak42j3ovn0Y2ByS3y2D4Ka5Uy1WKajG6DMDbEjwQ0HssTXH/ExefxhkfD0j8OORJck13kuR2Tx0mw15Zpr9jjINLLB6FBn7gJFjBDFm50cuer6GC+7ZaqJ22BBYRlNzrWs5A533BbJEQKckhih9QEkOO3kvUgUnWLTpfmJwExHtRbME15ZIBBusJYFw98NW3PKV4/aPZDAw4Ou4yIvP6NO0GSySkMIGk+y/MdIIVTPO8QHS5VsKUi6Y3HlzBSdHXfUM3IeEJwUIIaqz7Zk4CoA64GaCr7vyIA0cQnpcxfjhXFGqdrcmlu0Q7jqRA/soxieCL9LXqyQTXvsVkyIiC3cDrcmym7tnrXoU0rbn9nhP77DSXC+uc7eNf1BlYY1sj90BizWZ69oZZg9QIijI4M6Z4NzdVH4fpq5fkYWASbpoNwgekmXJGczK3ayUmgqvtArZT5gWN7fJqXOHleJF3QvYKHtAqYNj6z0XafiKhSwhsju3Tg4ykfRmPanRByX+rJkpiUjQBK1x2i/XS5CcskfNPfOgwPdGe2ERHS4+uPhm+VmUWeg3fjh/hLCWRkFYxUP+AjR7xhcEOrN6EIeEEhuok=----ATTACHMENT:----OTM3ODg2MzA0MTUxMjcxMyAyMDEzNDU0NjQ4NTMzNDE0IDEyMDA5MTE2MjIyOTYyMTc=