assertEquals($expected, Tokens::replaceTokens($list, $find, $replace)); } public function replaceTokensProvider() { return [ [ 'SELECT * FROM /*x*/a/*c*/.b', [ ['value_str' => 'a'], ['token' => '.'], ], [ new Token('c'), new Token('.'), ], 'SELECT * FROM /*x*/c.b', ], ]; } /** * @dataProvider matchProvider * * @param mixed $token * @param mixed $pattern * @param mixed $expected */ public function testMatch($token, $pattern, $expected) { $this->assertEquals($expected, Tokens::match($token, $pattern)); } public function matchProvider() { return [ [ new Token(''), [], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['token' => '"abc"'], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['value' => 'abc'], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['value_str' => 'ABC'], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['type' => Token::TYPE_STRING], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['flags' => Token::FLAG_STRING_DOUBLE_QUOTES], true, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['token' => '"abcd"'], false, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['value' => 'abcd'], false, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['value_str' => 'ABCd'], false, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['type' => Token::TYPE_NUMBER], false, ], [ new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), ['flags' => Token::FLAG_STRING_SINGLE_QUOTES], false, ], ]; } }