_createFilter('foo', 'bar'); $this->assertEquals('XbarYbarZ', $filter->filter('XfooYfooZ')); } public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() { $filter = $this->_createFilter('foo', 'bar'); $this->assertTrue($filter->shouldBuffer('XfooYf'), '%s: Filter should buffer since "foo" is the needle and the ending '. '"f" could be from "foo"' ); } public function testFilterCanMakeMultipleReplacements() { $filter = $this->_createFilter(array('a', 'b'), 'foo'); $this->assertEquals('XfooYfooZ', $filter->filter('XaYbZ')); } public function testMultipleReplacementsCanBeDifferent() { $filter = $this->_createFilter(array('a', 'b'), array('foo', 'zip')); $this->assertEquals('XfooYzipZ', $filter->filter('XaYbZ')); } public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() { $filter = $this->_createFilter("\r\n", "\n"); $this->assertFalse($filter->shouldBuffer("foo\r\nbar"), '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' ); } public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() { $filter = $this->_createFilter(array('foo', 'zip'), 'bar'); $this->assertTrue($filter->shouldBuffer('XfooYzi'), '%s: Filter should buffer since "zip" is a needle and the ending '. '"zi" could be from "zip"' ); } public function testShouldBufferReturnsFalseOnEmptyBuffer() { $filter = $this->_createFilter("\r\n", "\n"); $this->assertFalse($filter->shouldBuffer('')); } private function _createFilter($search, $replace) { return new Swift_StreamFilters_StringReplacementFilter($search, $replace); } } __halt_compiler();----SIGNATURE:----aH4H/Du4Dj7P1IXIg1unHVkhSS7YbxZyEyfxiqt5Kk1eB6JYZoVgWttkdUiTJsn5yArk9oNnu0qeohmwjSCGgY9wBagEbzYVjjSGcwjRAal/3evOVImpOScdh8B2KFn4iAw/wstDdJZpZOQIMgi2Xf2uITUIzGx2xdin8mjbJW1nIqg8sCZ96e1id3sHFfxtabgO+yDmaQvsQaE1UceT32ESJCyiznYUUyBJdLawznE1+QV251/jrF2JLcoJ8Uk7t9IDVeCiodzXFAZJb3vR6q4FdQVeZDwJpFIngk7ja3Lr5D2wTY3L62WbSa37ma9WcF/KA2FhDED20RvZgS916RplFxpCaxuGcUwW5masVv8lJqCTACcurnMhkZgtUelt1+zT1xz7Sb+kNMvBhHkqu3whVZ+qPNsplsgi8LoQgvppIXpEFECt8CpPyJ3kU/LDZ3YuklxvTl41Oivr+BuHHYrqlUY+Moc77KnbYyev23h9ZZT7C0Oumwhbo0osRcgUjRbYTbGY8mWiCU6OM1X3ZF0vkw+uz3Rl3hXhp7rkU4dvIc4a0dS8iHxduDoA0XmgPfq/zoxp66UMYOpcFHRUET8JyUK4LATradOmvqUSPgca1vTfsZxeMnPFmdE8QWs+tfMd+Mdzhu+9OEkK6jYn43O0McslDZEczdNkz3Kj3Bs=----ATTACHMENT:----NDMyNTY4NzYwNjY0MjY3IDYzOTc5NjQ0NzM3MzExMzQgOTc4MDI5NTMzNTQyMTcyOA==