/**
  * formatArray() test.
  * @return void
  */
 public function testFormatArray()
 {
     // symbols
     $this->assertEquals('', CurlyBracketsFilter::formatArray(''));
     $this->assertEquals('', CurlyBracketsFilter::formatArray('', '&'));
     $this->assertEquals('array(1)', CurlyBracketsFilter::formatArray('1'));
     $this->assertEquals('&array(1)', CurlyBracketsFilter::formatArray('1', '&'));
     $this->assertEquals("array('symbol')", CurlyBracketsFilter::formatArray('symbol'));
     $this->assertEquals("array(1, 2,'symbol1','symbol2')", CurlyBracketsFilter::formatArray('1, 2, symbol1, symbol2'));
     // strings
     $this->assertEquals('array("\\"1, 2, symbol1, symbol2")', CurlyBracketsFilter::formatArray('"\\"1, 2, symbol1, symbol2"'));
     // unable to parse "${'"'}" yet
     $this->assertEquals("array('\\'1, 2, symbol1, symbol2')", CurlyBracketsFilter::formatArray("'\\'1, 2, symbol1, symbol2'"));
     $this->assertEquals("array('\\\\'1, 2,'symbol1', symbol2')", CurlyBracketsFilter::formatArray("'\\\\'1, 2, symbol1, symbol2'"));
     // key words
     $this->assertEquals('array(TRUE, false, null, 1 or 1 and 2 xor 3, clone $obj, new Class)', CurlyBracketsFilter::formatArray('TRUE, false, null, 1 or 1 and 2 xor 3, clone $obj, new Class'));
     $this->assertEquals('array(func (10))', CurlyBracketsFilter::formatArray('func (10)'));
     // associative arrays
     $this->assertEquals("array('symbol1' =>'value','symbol2'=>'value')", CurlyBracketsFilter::formatArray('symbol1 => value,symbol2=>value'));
     $this->assertEquals("array('symbol1' => array ('symbol2' =>'value'))", CurlyBracketsFilter::formatArray('symbol1 => array (symbol2 => value)'));
 }
Exemple #2
0
 /**
  * {default ...}
  */
 private function macroDefault($content)
 {
     if (!$content) {
         throw new InvalidStateException("Missing arguments in {default} on line {$this->filter->line}.");
     }
     return 'extract(' . CurlyBracketsFilter::formatArray($content) . ', EXTR_SKIP)';
 }