21        for (
$i = 0; 
$i < 100; ++
$i) {
 
   22            $this->assertTrue(in_array(
twig_random(
$env, $value), $expectedInArray, 
true)); 
 
   30                array(
'apple', 
'orange', 
'citrus'),
 
   31                array(
'apple', 
'orange', 
'citrus'),
 
   34                new ArrayObject(array(
'apple', 
'orange', 
'citrus')),
 
   35                array(
'apple', 
'orange', 
'citrus'),
 
   62        $max = mt_getrandmax();
 
   64        for (
$i = 0; 
$i < 100; ++
$i) {
 
   66            $this->assertTrue(is_int($val) && $val >= 0 && $val <= $max);
 
   73        $this->assertSame(
'', 
twig_random(
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock(), array(
'charset' => 
null)), 
''));
 
   75        $instance = 
new stdClass();
 
   76        $this->assertSame($instance, 
twig_random(
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock()), $instance));
 
   89        if (!function_exists(
'iconv') && !function_exists(
'mb_convert_encoding')) {
 
   90            $this->markTestSkipped(
'needs iconv or mbstring');
 
   93        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
   94        $twig->setCharset(
'ISO-8859-1');
 
   96        $text = twig_convert_encoding(
'Äé', 
'ISO-8859-1', 
'UTF-8');
 
   97        for (
$i = 0; 
$i < 30; ++
$i) {
 
   99            $this->assertTrue(in_array(twig_convert_encoding($rand, 
'UTF-8', 
'ISO-8859-1'), array(
'Ä', 
'é'), 
true));
 
  105        if (!function_exists(
'iconv') && !function_exists(
'mb_convert_encoding')) {
 
  106            $this->markTestSkipped(
'needs iconv or mbstring');
 
  109        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
  110        $twig->setCharset(
'ISO-8859-1');
 
  112        $input = twig_convert_encoding(
'Äé', 
'ISO-8859-1', 
'UTF-8');
 
  113        $output = twig_convert_encoding(twig_reverse_filter($twig, $input), 
'UTF-8', 
'ISO-8859-1');
 
  115        $this->assertEquals(
$output, 
'éÄ');
 
  123        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
  124        $twig->getExtension(
'Twig_Extension_Core')->setEscaper(
'foo', 
'foo_escaper_for_test');
 
  126        $this->assertSame($expected, twig_escape_filter($twig, $string, $strategy));
 
  132            array(
'fooUTF-8', 
'foo', 
'foo'),
 
  133            array(
'UTF-8', 
null, 
'foo'),
 
  134            array(
'42UTF-8', 42, 
'foo'),
 
  143        twig_escape_filter(
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock()), 
'foo', 
'bar');
 
  151        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
  152        $this->assertSame($expected, twig_first($twig, $input));
 
  157        $i = array(1 => 
'a', 2 => 
'b', 3 => 
'c');
 
  161            array(1, array(1, 2, 3)),
 
  173        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
  174        $this->assertSame($expected, twig_last($twig, $input));
 
  179        $i = array(1 => 
'a', 2 => 
'b', 3 => 
'c');
 
  183            array(3, array(1, 2, 3)),
 
  195        $this->assertSame($expected, twig_get_array_keys_filter($input));
 
  200        $array = array(
'a' => 
'a1', 
'b' => 
'b1', 
'c' => 
'c1');
 
  201        $keys = array_keys($array);
 
  204            array(
$keys, $array),
 
  208            array(array(), 
null),
 
  209            array(array(
'a'), 
new SimpleXMLElement(
'<xml><a></a></xml>')),
 
  218        $this->assertSame($expected, twig_in_filter($value, $compare));
 
  223        $array = array(1, 2, 
'a' => 3, 5, 6, 7);
 
  224        $keys = array_keys($array);
 
  227            array(
true, 1, $array),
 
  228            array(
true, 
'3', $array),
 
  229            array(
true, 
'3', 
'abc3def'),
 
  233            array(
false, 4, $array),
 
  237            array(
true, 
'b', 
new SimpleXMLElement(
'<xml><a>b</a></xml>')),
 
  244    public function testSliceFilter($expected, $input, $start, $length = 
null, $preserveKeys = 
false)
 
  246        $twig = 
new Twig_Environment($this->getMockBuilder(
'Twig_LoaderInterface')->getMock());
 
  247        $this->assertSame($expected, twig_slice($twig, $input, $start, $length, $preserveKeys));
 
  252        $i = array(
'a' => 1, 
'b' => 2, 
'c' => 3, 
'd' => 4);
 
  256            array(array(
'a' => 1), 
$i, 0, 1, 
true),
 
  257            array(array(
'a' => 1), 
$i, 0, 1, 
false),
 
  258            array(array(
'b' => 2, 
'c' => 3), 
$i, 1, 2),
 
  259            array(array(1), array(1, 2, 3, 4), 0, 1),
 
  260            array(array(2, 3), array(1, 2, 3, 4), 1, 2),
 
  265            array(
'de', 
'abcdef', 3, 2),
 
  266            array(array(), 
new SimpleXMLElement(
'<items><item>1</item><item>2</item></items>'), 3),
 
  267            array(array(), 
new ArrayIterator(array(1, 2)), 3),
 
  274    return $string.$charset;
 
  281    public function __construct(array $array, array 
$keys, $allowAccess = 
false, $maxPosition = 
false)
 
  296    public function __construct(array $array, array 
$keys, $allowValueAccess = 
false, $maxPosition = 
false)
 
  317        $this->array = $values;
 
  318        $this->arrayKeys = 
$keys;
 
  331        if ($this->allowValueAccess) {
 
  332            return $this->array[$this->
key()];
 
  335        throw new LogicException(
'Code should only use the keys, not the values provided by iterator.');
 
  346        if ($this->position === $this->maxPosition) {
 
  347            throw new LogicException(
sprintf(
'Code should not iterate beyond %d.', $this->maxPosition));
 
  353        return isset($this->arrayKeys[$this->position]);
 
sprintf('%.4f', $callTime)
foo_escaper_for_test(Twig_Environment $env, $string, $charset)
An exception for terminatinating execution or to throw for unit testing.
__construct(array $array, array $keys, $allowValueAccess=false, $maxPosition=false)
__construct(array $array, array $keys, $allowAccess=false, $maxPosition=false)
__construct(array $values, array $keys, $allowValueAccess=false, $maxPosition=false)
Stores the Twig configuration.
testRandomFunctionOnNonUTF8String()
testTwigFirst($expected, $input)
@dataProvider provideTwigFirstCases
testRandomFunctionOfEmptyArrayThrowsException()
@expectedException Twig_Error_Runtime
provideCustomEscaperCases()
testCustomEscaper($expected, $string, $strategy)
@dataProvider provideCustomEscaperCases
testReverseFilterOnNonUTF8String()
testRandomFunctionReturnsAsIs()
testUnknownCustomEscaper()
@expectedException Twig_Error_Runtime
testRandomFunctionWithoutParameter()
testArrayKeysFilter(array $expected, $input)
@dataProvider provideArrayKeyCases
testSliceFilter($expected, $input, $start, $length=null, $preserveKeys=false)
@dataProvider provideSliceFilterCases
testTwigLast($expected, $input)
@dataProvider provideTwigLastCases
getRandomFunctionTestData()
testRandomFunction($value, $expectedInArray)
@dataProvider getRandomFunctionTestData
provideSliceFilterCases()
testInFilter($expected, $value, $compare)
@dataProvider provideInFilterCases
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
twig_random(Twig_Environment $env, $values=null)
Returns a random value depending on the supplied parameter type: