1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<?php
class Swift_StreamFilters_StringReplacementFilterTest extends \PHPUnit_Framework_TestCase
{
public function testBasicReplacementsAreMade()
{
$filter = $this->_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"'
);
}
// -- Creation methods
private function _createFilter($search, $replace)
{
return new Swift_StreamFilters_StringReplacementFilter($search, $replace);
}
}
|