/** * 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); }
/** * {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) . ')'; }