void testTokens(const String& string, const CSSParserToken& token1, const CSSParserToken& token2 = CSSParserToken(EOFToken), const CSSParserToken& token3 = CSSParserToken(EOFToken)) { Vector<CSSParserToken> expectedTokens; expectedTokens.append(token1); if (token2.type() != EOFToken) { expectedTokens.append(token2); if (token3.type() != EOFToken) expectedTokens.append(token3); } Vector<CSSParserToken> actualTokens; CSSTokenizer::tokenize(string, actualTokens); ASSERT_EQ(expectedTokens.size(), actualTokens.size()); for (size_t i = 0; i < expectedTokens.size(); ++i) compareTokens(expectedTokens[i], actualTokens[i]); }
void testTokens(const String& string, const CSSParserToken& token1, const CSSParserToken& token2 = CSSParserToken(EOFToken), const CSSParserToken& token3 = CSSParserToken(EOFToken)) { Vector<CSSParserToken> expectedTokens; expectedTokens.append(token1); if (token2.type() != EOFToken) { expectedTokens.append(token2); if (token3.type() != EOFToken) expectedTokens.append(token3); } CSSParserTokenRange expected(expectedTokens); CSSTokenizer::Scope actualScope(string); CSSParserTokenRange actual = actualScope.tokenRange(); // Just check that serialization doesn't hit any asserts actual.serialize(); while (!expected.atEnd() || !actual.atEnd()) compareTokens(expected.consume(), actual.consume()); }
static Boolean compareVV(binaryExpr *be,int k, VTDNav *vn, int j,opType op){ int i = compareTokens(vn,k, vn, j); switch(i){ case 1: if (op == OP_NE || op==OP_GE || op == OP_GT ){ return TRUE; } break; case 0: if (op==OP_EQ || op == OP_LE || op == OP_GE ){ return TRUE; } break; case -1: if (op== OP_NE || op == OP_LT || op == OP_LE){ return TRUE; } } return FALSE; }