Changeset View
Changeset View
Standalone View
Standalone View
parser/test/lexertest.cpp
Show First 20 Lines • Show All 504 Lines • ▼ Show 20 Line(s) | 488 | { | |||
---|---|---|---|---|---|
505 | COMPARE_TOKEN(ts, 13, Parser::Token_WHITESPACE, 1, 15, 1, 15); | 505 | COMPARE_TOKEN(ts, 13, Parser::Token_WHITESPACE, 1, 15, 1, 15); | ||
506 | COMPARE_TOKEN(ts, 14, Parser::Token_FINALLY, 1, 16, 1, 22); | 506 | COMPARE_TOKEN(ts, 14, Parser::Token_FINALLY, 1, 16, 1, 22); | ||
507 | COMPARE_TOKEN(ts, 15, Parser::Token_WHITESPACE, 1, 23, 1, 23); | 507 | COMPARE_TOKEN(ts, 15, Parser::Token_WHITESPACE, 1, 23, 1, 23); | ||
508 | COMPARE_TOKEN(ts, 16, Parser::Token_LBRACE, 1, 24, 1, 24); | 508 | COMPARE_TOKEN(ts, 16, Parser::Token_LBRACE, 1, 24, 1, 24); | ||
509 | COMPARE_TOKEN(ts, 17, Parser::Token_WHITESPACE, 1, 25, 1, 25); | 509 | COMPARE_TOKEN(ts, 17, Parser::Token_WHITESPACE, 1, 25, 1, 25); | ||
510 | COMPARE_TOKEN(ts, 18, Parser::Token_RBRACE, 1, 26, 1, 26); | 510 | COMPARE_TOKEN(ts, 18, Parser::Token_RBRACE, 1, 26, 1, 26); | ||
511 | } | 511 | } | ||
512 | 512 | | |||
513 | void LexerTest::testEllipsis() | ||||
514 | { | ||||
515 | QScopedPointer<TokenStream> ts(tokenize(QStringLiteral("<?php\nfunction foo(...$args) {}"), true)); | ||||
516 | QCOMPARE((int)ts->size(), 11); | ||||
517 | | ||||
518 | COMPARE_TOKEN(ts, 0, Parser::Token_OPEN_TAG, 0, 0, 0, 5); | ||||
519 | COMPARE_TOKEN(ts, 1, Parser::Token_FUNCTION, 1, 0, 1, 7); | ||||
520 | COMPARE_TOKEN(ts, 2, Parser::Token_WHITESPACE, 1, 8, 1, 8); | ||||
521 | COMPARE_TOKEN(ts, 3, Parser::Token_STRING, 1, 9, 1, 11); | ||||
522 | COMPARE_TOKEN(ts, 4, Parser::Token_LPAREN, 1, 12, 1, 12); | ||||
523 | COMPARE_TOKEN(ts, 5, Parser::Token_ELLIPSIS, 1, 13, 1, 15); | ||||
524 | COMPARE_TOKEN(ts, 6, Parser::Token_VARIABLE, 1, 16, 1, 20); | ||||
525 | COMPARE_TOKEN(ts, 7, Parser::Token_RPAREN, 1, 21, 1, 21); | ||||
526 | COMPARE_TOKEN(ts, 8, Parser::Token_WHITESPACE, 1, 22, 1, 22); | ||||
527 | COMPARE_TOKEN(ts, 9, Parser::Token_LBRACE, 1, 23, 1, 23); | ||||
528 | COMPARE_TOKEN(ts, 10, Parser::Token_RBRACE, 1, 24, 1, 24); | ||||
529 | } | ||||
530 | | ||||
513 | TokenStream* LexerTest::tokenize(const QString& unit, bool debug, int initialState) | 531 | TokenStream* LexerTest::tokenize(const QString& unit, bool debug, int initialState) | ||
514 | { | 532 | { | ||
515 | TokenStream* tokenStream = new TokenStream; | 533 | TokenStream* tokenStream = new TokenStream; | ||
516 | Lexer lexer(tokenStream, unit, initialState); | 534 | Lexer lexer(tokenStream, unit, initialState); | ||
517 | int token; | 535 | int token; | ||
518 | int i = 0; | 536 | int i = 0; | ||
519 | QList<Parser::Token> tokens; | 537 | QList<Parser::Token> tokens; | ||
520 | while ((token = lexer.nextTokenKind())) { | 538 | while ((token = lexer.nextTokenKind())) { | ||
Show All 24 Lines |