File: lexertest.h

package info (click to toggle)
kdevelop-php 24.12.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,616 kB
  • sloc: cpp: 20,858; php: 15,243; xml: 136; sh: 58; makefile: 10
file content (70 lines) | stat: -rw-r--r-- 1,586 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
    SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
    SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com>

    SPDX-License-Identifier: LGPL-2.0-only
*/

#ifndef LEXERTEST_H
#define LEXERTEST_H

#include <QObject>
#include <QByteArray>
#include <QTest>

#include "phplexer.h"

namespace KDevelop
{
class TopDUContext;
}

namespace Php
{
class TokenStream;
class LexerTest : public QObject
{
    Q_OBJECT

public:
    LexerTest();

private Q_SLOTS:
    void testOpenTagWithNewline();
    void testOpenTagWithSpace();
    void testCommentOneLine();
    void testCommentOneLine2();
    void testCommentMultiLine();
    void testCommentMultiLine2();
    void testEndTag();
    void testNewlineInString();
    void testNewlineInString2();
    void testNewlineInStringWithVar();
    void testNewlineInStringWithVar2();
    void testNewlineInStringWithVar3();
    void testMultiplePhpSections();
    void testHereDoc();
    void testHereDocQuoted();
    void testNowdoc();
    void testCommonStringTokens();
    void testNonTerminatedStringWithVar();
    void testPhpBlockWithComment();
    void testNamespaces();
    void testCloseTagInComment();
    void testBinaryNumber();
    void testHexadecimalNumber();
    void testTypeHintsOnFunction();
    void testReturnTypeHints();
    void testExponentiation();
    void testExceptionFinally();
    void testEllipsis();
    void testSpaceship();
    void testNullCoalesce();

protected:
    TokenStream* tokenize(const QString& unit, bool debug = false, int initialState = Lexer::HtmlState);
};

}

#endif // LEXERTEST_H