aboutsummaryrefslogtreecommitdiff
path: root/build2/lexer+comment.test.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'build2/lexer+comment.test.testscript')
-rw-r--r--build2/lexer+comment.test.testscript139
1 files changed, 139 insertions, 0 deletions
diff --git a/build2/lexer+comment.test.testscript b/build2/lexer+comment.test.testscript
new file mode 100644
index 0000000..4323c84
--- /dev/null
+++ b/build2/lexer+comment.test.testscript
@@ -0,0 +1,139 @@
+# file : build2/lexer+comment.test.testscript
+# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+: single-line
+:
+{
+ : only
+ :
+ $* <<EOI >>:EOO
+ # comment
+ EOI
+ EOO
+
+ : first
+ :
+ $* <<EOI >>EOO
+ # comment
+ foo
+ EOI
+ 'foo'
+ <newline>
+ EOO
+
+ : last
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment
+ EOI
+ 'foo'
+ <newline>
+ EOO
+
+ : few
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment
+ # comment
+ EOI
+ 'foo'
+ <newline>
+ EOO
+
+ : cont
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment\\
+ bar
+ EOI
+ 'foo'
+ <newline>
+ 'bar'
+ <newline>
+ EOO
+
+ : same
+ :
+ $* <<EOI >>EOO
+ foo # comment
+ bar # comment
+ EOI
+ 'foo'
+ <newline>
+ 'bar'
+ <newline>
+ EOO
+}
+
+: multi-line
+:
+{
+ : only
+ :
+ $* <<EOI >>:EOO
+ #\
+ comment
+ comment
+ #\
+ EOI
+ EOO
+
+ : empty
+ :
+ $* <<EOI >>:EOO
+ #\
+ #\
+ EOI
+ EOO
+
+ : start-same
+ :
+ $* <<EOI >>EOO
+ foo #\
+ comment
+ comment
+ #\
+ EOI
+ 'foo'
+ <newline>
+ EOO
+
+ : end-same
+ :
+ $* <<EOI >>EOO
+ #\
+ comment
+ comment
+ foo #\
+ bar
+ EOI
+ 'bar'
+ <newline>
+ EOO
+
+ : end-not
+ :
+ $* <<EOI >>EOO
+ #\
+ comment
+ #\ not an end
+ foo #\
+ bar
+ EOI
+ 'bar'
+ <newline>
+ EOO
+
+ : unterm
+ :
+ $* <<EOI 2>>EOE != 0
+ #\
+ comment
+ EOI
+ stdin:3:1: error: unterminated multi-line comment
+ EOE
+}