diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-05-24 13:24:31 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-05-24 13:24:31 +0200 |
commit | 0cef93b4e2e9bf39b0ca542876f9ab1af6d0f01d (patch) | |
tree | 187b83b65f28cdf4f8a2b0feadf392b49554fbf3 /unit-tests/cc/lexer/comment.test | |
parent | b3526a5c925169b3be00a5dd4d8c8222f3a475cd (diff) |
Implement support for tokenization of preprocessed C/C++ source
Diffstat (limited to 'unit-tests/cc/lexer/comment.test')
-rw-r--r-- | unit-tests/cc/lexer/comment.test | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/unit-tests/cc/lexer/comment.test b/unit-tests/cc/lexer/comment.test new file mode 100644 index 0000000..e90d8e0 --- /dev/null +++ b/unit-tests/cc/lexer/comment.test @@ -0,0 +1,88 @@ +# file : unit-tests/cc/lexer/comment.test +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Test C and C++ comments. +# + +: c-comment +: +$* <<EOI +/* 'one' */ +/* "two" // three +*/ +/** +four +// five */ +/** +six /* +*/ +EOI + +: cxx-comment +: +$* <<EOI +// 'one' +// "two" // three +// four /* five */ +EOI + +: commented-out +: +$* <<EOI >"';'" +// /* +; +// */ +EOI + +: c-unterminated +: +$* <<EOI 2>>EOE != 0 +/* +comment +EOI +stdin:1:2: error: unterminated comment +EOE + +: cxx-unterminated +: +$* <<:EOI +// comment +EOI + +: in-char-literal +: +$* <<EOI >>EOO +'//' +'/*'*/ +EOI +<char literal> +<char literal> +<punctuation> +<punctuation> +EOO + +: in-string-literal +: +$* <<EOI >>EOO +"//foo" +"/*"*/ +EOI +<string literal> +<string literal> +<punctuation> +<punctuation> +EOO + +: in-raw-string-literal +: +$* <<EOI >>EOO +R"X( +// foo +/* bar +)X"*/ +EOI +<string literal> +<punctuation> +<punctuation> +EOO |