. **/ class CUserMacroFunctionParserTest extends CParserTest { protected function getParser() { return new CUserMacroFunctionParser(); } public function dataProvider() { return [ [ '{{$M}.regsub("^([0-9]+)", "{$M}: \1")}', 0, CParser::PARSE_SUCCESS, '{{$M}.regsub("^([0-9]+)", "{$M}: \1")}' ], [ '{{$MACRO12.A_Z}.last()}', 0, CParser::PARSE_SUCCESS, '{{$MACRO12.A_Z}.last()}' ], [ '{{$M}.somefunc()}', 0, CParser::PARSE_SUCCESS, '{{$M}.somefunc()}' ], [ 'not {{$M}.iregsub("^([0-9]+)", "{$M}: \1")} = ', 4, CParser::PARSE_SUCCESS_CONT, '{{$M}.iregsub("^([0-9]+)", "{$M}: \1")}' ], [ '', 0, CParser::PARSE_FAIL, '' ], [ '{', 0, CParser::PARSE_FAIL, '' ], [ '{{$M}', 0, CParser::PARSE_FAIL, '' ], [ '{{$M}.f()', 0, CParser::PARSE_FAIL, '' ], [ '{$M}', 0, CParser::PARSE_FAIL, '' ], [ '{$M}.regsub("^([0-9]+)", "{$M}: \1")', 0, CParser::PARSE_FAIL, '' ], [ '{{$M}.somefunc(/host/key["a", "b"])}', 0, CParser::PARSE_FAIL, '' ] ]; } }