diff options
| author | Francois Ferrand <thetypz@gmail.com> | 2015-03-12 23:15:38 +0100 |
|---|---|---|
| committer | Francois Ferrand <thetypz@gmail.com> | 2016-03-08 17:24:28 +0000 |
| commit | dc7b6ca6c376714dc65d170f693e40263f422739 (patch) | |
| tree | 1dbace9faec97f025ab1a648769705898fb22df2 /tests/auto/cplusplus/lexer | |
| parent | 41b232962a9222ddc594ef7d564041af0c476cb9 (diff) | |
| download | qt-creator-dc7b6ca6c376714dc65d170f693e40263f422739.tar.gz | |
C++: fix lexing POUND_POUND token with digraphs.
Change-Id: I9204b827c60b283cc4e6b88c810b31eb7587c7db
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'tests/auto/cplusplus/lexer')
| -rw-r--r-- | tests/auto/cplusplus/lexer/tst_lexer.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/lexer/tst_lexer.cpp b/tests/auto/cplusplus/lexer/tst_lexer.cpp index 6f32622cfc..53da805a68 100644 --- a/tests/auto/cplusplus/lexer/tst_lexer.cpp +++ b/tests/auto/cplusplus/lexer/tst_lexer.cpp @@ -70,6 +70,8 @@ private slots: void literals_data(); void preprocessor(); void preprocessor_data(); + void digraph(); + void digraph_data(); void trigraph(); void trigraph_data(); @@ -740,6 +742,36 @@ void tst_SimpleLexer::incremental_data() << (TokenKindList() << T_IDENTIFIER); } +void tst_SimpleLexer::digraph() +{ + QFETCH(QByteArray, source); + QFETCH(TokenKindList, expectedTokenKindList); + + run(source, toTokens(expectedTokenKindList), false, CompareKind); +} + +void tst_SimpleLexer::digraph_data() +{ + QTest::addColumn<QByteArray>("source"); + QTest::addColumn<TokenKindList>("expectedTokenKindList"); + + QTest::newRow("lbracket_digraph") << _("<:") << (TokenKindList() << T_LBRACKET); + + QTest::newRow("rbracket_digraph") << _(":>") << (TokenKindList() << T_RBRACKET); + + QTest::newRow("lbrace_digraph") << _("<%") << (TokenKindList() << T_LBRACE); + + QTest::newRow("rbrace_digraph") << _("%>") << (TokenKindList() << T_RBRACE); + + QTest::newRow("pound_digraph") << _("%:") << (TokenKindList() << T_POUND); + + QTest::newRow("pound_pound_digraph") << _("%:%:") << (TokenKindList() << T_POUND_POUND); + + QTest::newRow("pound_pound_mixed_digraph_1") << _("#%:") << (TokenKindList() << T_POUND << T_POUND); + + QTest::newRow("pound_pound_mixed_digraph_2") << _("%:#") << (TokenKindList() << T_POUND << T_POUND); +} + void tst_SimpleLexer::trigraph() { QFETCH(QByteArray, source); |
