/**
  * fetchToken() test.
  * @return void
  */
 public function testFetchToken()
 {
     $s = '';
     $this->assertEquals('', CurlyBracketsFilter::fetchToken($s));
     $this->assertEquals('', $s);
     $s = '$1d-,a';
     $this->assertEquals('$1d-', CurlyBracketsFilter::fetchToken($s));
     $this->assertEquals('a', $s);
     $s = '$1d"-,a';
     $this->assertEquals('$1d', CurlyBracketsFilter::fetchToken($s));
     $this->assertEquals('"-,a', $s);
     $s = '"item\'1""item2"';
     $this->assertEquals('"item\'1""item2"', CurlyBracketsFilter::fetchToken($s));
     $this->assertEquals('', $s);
 }
Exemple #2
0
 /**
  * {assign ...}
  */
 private function macroAssign($content, $modifiers)
 {
     if (!$content) {
         throw new InvalidStateException("Missing arguments in {assign} on line {$this->filter->line}.");
     }
     if (strpos($content, '=>') === FALSE) {
         // back compatibility
         return '$' . ltrim(CurlyBracketsFilter::fetchToken($content), '$') . ' = ' . CurlyBracketsFilter::formatModifiers($content === '' ? 'NULL' : $content, $modifiers);
     }
     return 'extract(' . CurlyBracketsFilter::formatArray($content) . ')';
 }