Initial commit: apps.supersam24.ru
This commit is contained in:
commit
e955e1da36
6566 files changed
+1271095
No files matched your search
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
|
||||
namespace Jasny\Twig;
|
||||
|
||||
use Jasny\Twig\PcreExtension;
|
||||
use Jasny\Twig\TestHelper;
|
||||
|
||||
/**
|
||||
* @covers Jasny\Twig\PcreExtension
|
||||
*/
|
||||
class PcreExtensionTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
use TestHelper;
|
||||
|
||||
protected function getExtension()
|
||||
{
|
||||
return new PcreExtension();
|
||||
}
|
||||
|
||||
|
||||
public function testGetName()
|
||||
{
|
||||
$this->assertEquals('jasny/pcre', $this->getExtension()->getName());
|
||||
}
|
||||
|
||||
|
||||
public function testQuote()
|
||||
{
|
||||
$this->assertRender('foo\(\)', '{{ "foo()"|preg_quote }}');
|
||||
}
|
||||
|
||||
public function testQuoteDelimiter()
|
||||
{
|
||||
$this->assertRender('foo\@bar', '{{ "foo@bar"|preg_quote("@") }}');
|
||||
}
|
||||
|
||||
public function testPregMatch()
|
||||
{
|
||||
$this->assertRender('YES', '{% if "foo"|preg_match("/oo/") %}YES{% else %}NO{% endif %}');
|
||||
}
|
||||
|
||||
public function testPregMatchNo()
|
||||
{
|
||||
$this->assertRender('NO', '{% if "fod"|preg_match("/oo/") %}YES{% else %}NO{% endif %}');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Twig_Error_Runtime
|
||||
*/
|
||||
public function testPregMatchError()
|
||||
{
|
||||
$this->render('{% if "fod"|preg_match("/o//o/") %}YES{% else %}NO{% endif %}');
|
||||
}
|
||||
|
||||
|
||||
public function testPregGet()
|
||||
{
|
||||
$this->assertRender('d', '{{ "food"|preg_get("/oo(.)/", 1) }}');
|
||||
}
|
||||
|
||||
public function testPregGetDefault()
|
||||
{
|
||||
$this->assertRender('ood', '{{ "food"|preg_get("/oo(.)/") }}');
|
||||
}
|
||||
|
||||
|
||||
public function testPregGetAll()
|
||||
{
|
||||
$this->assertRender('d|t|m', '{{ "food woot should doom"|preg_get_all("/oo(.)/", 1)|join("|") }}');
|
||||
}
|
||||
|
||||
public function testPregGetAllDefault()
|
||||
{
|
||||
$this->assertRender('ood|oot|oom', '{{ "food woot doom"|preg_get_all("/oo(.)/")|join("|") }}');
|
||||
}
|
||||
|
||||
|
||||
public function testPregGrep()
|
||||
{
|
||||
$this->assertRender(
|
||||
'world|how|you',
|
||||
'{{ ["hello", "sweet", "world", "how", "are", "you"]|preg_grep("/o./")|join("|") }}'
|
||||
);
|
||||
}
|
||||
|
||||
public function testPregGrepInvert()
|
||||
{
|
||||
$this->assertRender(
|
||||
'hello|sweet|are',
|
||||
'{{ ["hello", "sweet", "world", "how", "are", "you"]|preg_grep("/o./", "invert")|join("|") }}'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function testReplace()
|
||||
{
|
||||
$this->assertRender(
|
||||
'the quick brawen faxe jumped aveer the lazy dage',
|
||||
'{{ "the quick brown fox jumped over the lazy dog"|preg_replace("/o(\\\\w)/", "a$1e") }}'
|
||||
);
|
||||
}
|
||||
|
||||
public function testReplaceLimit()
|
||||
{
|
||||
$this->assertRender(
|
||||
'the quick brawen faxe jumped over the lazy dog',
|
||||
'{{ "the quick brown fox jumped over the lazy dog"|preg_replace("/o(\\\\w)/", "a$1e", 2) }}'
|
||||
);
|
||||
}
|
||||
|
||||
public function testReplaceWithArray()
|
||||
{
|
||||
$this->assertRender(
|
||||
'hello|sweet|wareld|hawe|are|yaue',
|
||||
'{{ ["hello", "sweet", "world", "how", "are", "you"]|preg_replace("/o(.)/", "a$1e")|join("|") }}'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Twig_Error_Runtime
|
||||
*/
|
||||
public function testReplaceAssertNoEval()
|
||||
{
|
||||
$this->render('{{ "foo"|preg_replace("/o/ei", "strtoupper") }}');
|
||||
}
|
||||
|
||||
|
||||
public function testFilter()
|
||||
{
|
||||
$this->assertRender(
|
||||
'wareld|hawe|yaue',
|
||||
'{{ ["hello", "sweet", "world", "how", "are", "you"]|preg_filter("/o(.)/", "a$1e")|join("|") }}'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Twig_Error_Runtime
|
||||
*/
|
||||
public function testFilterAssertNoEval()
|
||||
{
|
||||
$this->render('{{ "foo"|preg_filter("/o/ei", "strtoupper") }}');
|
||||
}
|
||||
|
||||
|
||||
public function testSplit()
|
||||
{
|
||||
$this->assertRender(
|
||||
'the quick br|n f| jumped |er the lazy d|',
|
||||
'{{ "the quick brown fox jumped over the lazy dog"|preg_split("/o(\\\\w)/", "a$1e")|join("|") }}'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function filterProvider()
|
||||
{
|
||||
return [
|
||||
['preg_quote'],
|
||||
['preg_match'],
|
||||
['preg_get'],
|
||||
['preg_get_all'],
|
||||
['preg_grep'],
|
||||
['preg_replace'],
|
||||
['preg_filter'],
|
||||
['preg_split']
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider filterProvider
|
||||
*
|
||||
* @param string $filter
|
||||
*/
|
||||
public function testWithNull($filter)
|
||||
{
|
||||
$this->assertRender('-', '{{ null|' . $filter . '("//")|default("-") }}');
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user