diff options
author | Itamar <itamar8910@gmail.com> | 2021-08-13 19:24:16 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-14 12:40:55 +0200 |
commit | e57fdb63f8c1399db066f04a6ac16e13f8ad0f14 (patch) | |
tree | 61af37d3daccd9ca871881d95f9a6055652f0e06 /Userland/Libraries | |
parent | a38c330c686d760d1a0d42a60c4012549dad55fb (diff) | |
download | serenity-e57fdb63f8c1399db066f04a6ac16e13f8ad0f14.zip |
Tests: Add regression tests for the LibCpp preprocessor
Similarly to the LibCpp parser regression tests, these tests run the
preprocessor on the .cpp test files under
Userland/LibCpp/Tests/preprocessor, and compare the output with existing
.txt ground truth files.
Diffstat (limited to 'Userland/Libraries')
8 files changed, 39 insertions, 0 deletions
diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.cpp b/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.cpp new file mode 100644 index 0000000000..25a9b4a71b --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.cpp @@ -0,0 +1,2 @@ +#define ADD(x,y) x+y +ADD(2,5); diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.txt b/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.txt new file mode 100644 index 0000000000..8a62b08adf --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro1.txt @@ -0,0 +1,4 @@ +Integer 1:0-1:2 (2) +Plus 1:0-1:2 (+) +Integer 1:0-1:2 (5) +Semicolon 1:8-1:8 (;) diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.cpp b/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.cpp new file mode 100644 index 0000000000..cf6ef31b83 --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.cpp @@ -0,0 +1,3 @@ +#define M(x) String {x + "lo"} + +M("he" + "l") diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.txt b/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.txt new file mode 100644 index 0000000000..e491aa6e5c --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro2.txt @@ -0,0 +1,8 @@ +KnownType 2:0-2:0 (String) +LeftCurly 2:0-2:0 ({) +DoubleQuotedString 2:0-2:0 ("he") +Plus 2:0-2:0 (+) +DoubleQuotedString 2:0-2:0 ("l") +Plus 2:0-2:0 (+) +DoubleQuotedString 2:0-2:0 ("lo") +RightCurly 2:0-2:0 (}) diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.cpp b/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.cpp new file mode 100644 index 0000000000..b02baa5d93 --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.cpp @@ -0,0 +1,4 @@ +#define M(x, y, z) x y = z; + +M(Vector, vec, ({1,2})) + diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.txt b/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.txt new file mode 100644 index 0000000000..1a54b5287b --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/macro3.txt @@ -0,0 +1,11 @@ +KnownType 2:0-2:0 (Vector) +Identifier 2:0-2:0 (vec) +Equals 2:0-2:0 (=) +LeftParen 2:0-2:0 (() +LeftCurly 2:0-2:0 ({) +Integer 2:0-2:0 (1) +Comma 2:0-2:0 (,) +Integer 2:0-2:0 (2) +RightCurly 2:0-2:0 (}) +RightParen 2:0-2:0 ()) +Semicolon 2:0-2:0 (;) diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.cpp b/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.cpp new file mode 100644 index 0000000000..c25f7cdef4 --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.cpp @@ -0,0 +1,2 @@ +#define NUMBER 1337 +int x = NUMBER; diff --git a/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.txt b/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.txt new file mode 100644 index 0000000000..6842561545 --- /dev/null +++ b/Userland/Libraries/LibCpp/Tests/preprocessor/simple_define.txt @@ -0,0 +1,5 @@ +KnownType 1:0-1:2 (int) +Identifier 1:4-1:4 (x) +Equals 1:6-1:6 (=) +Integer 1:8-1:13 (1337) +Semicolon 1:14-1:14 (;) |