aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/lexer
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/lexer')
-rw-r--r--unit-tests/lexer/comment.test221
-rw-r--r--unit-tests/lexer/quoting.test145
2 files changed, 203 insertions, 163 deletions
diff --git a/unit-tests/lexer/comment.test b/unit-tests/lexer/comment.test
index 025b0a2..6840219 100644
--- a/unit-tests/lexer/comment.test
+++ b/unit-tests/lexer/comment.test
@@ -2,111 +2,138 @@
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
-# Single-line comments.
+: single-line
+:
+{
+ : only
+ :
+ $* <<EOI >>:EOO
+ # comment
+ EOI
+ EOO
-$* <<EOI >>:EOO # single-only
-# comment
-EOI
-EOO
+ : first
+ :
+ $* <<EOI >>EOO
+ # comment
+ foo
+ EOI
+ 'foo'
+ <newline>
+ EOO
-$* <<EOI >>EOO # single-first
-# comment
-foo
-EOI
-'foo'
-<newline>
-EOO
+ : last
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment
+ EOI
+ 'foo'
+ <newline>
+ EOO
-$* <<EOI >>EOO # single-last
-foo
-# comment
-EOI
-'foo'
-<newline>
-EOO
+ : few
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment
+ # comment
+ EOI
+ 'foo'
+ <newline>
+ EOO
-$* <<EOI >>EOO # single-few
-foo
-# comment
-# comment
-EOI
-'foo'
-<newline>
-EOO
+ : cont
+ :
+ $* <<EOI >>EOO
+ foo
+ # comment\\
+ bar
+ EOI
+ 'foo'
+ <newline>
+ 'bar'
+ <newline>
+ EOO
-$* <<EOI >>EOO # single-cont
-foo
-# comment\\
-bar
-EOI
-'foo'
-<newline>
-'bar'
-<newline>
-EOO
+ : same
+ :
+ $* <<EOI >>EOO
+ foo # comment
+ bar # comment
+ EOI
+ 'foo'
+ <newline>
+ 'bar'
+ <newline>
+ EOO
+}
-$* <<EOI >>EOO # single-same
-foo # comment
-bar # comment
-EOI
-'foo'
-<newline>
-'bar'
-<newline>
-EOO
+: multi-line
+:
+{
+ : only
+ :
+ $* <<EOI >>:EOO
+ #\
+ comment
+ comment
+ #\
+ EOI
+ EOO
-# Multi-line comments.
-#
+ : empty
+ :
+ $* <<EOI >>:EOO
+ #\
+ #\
+ EOI
+ EOO
-$* <<EOI >>:EOO # multi-only
-#\
-comment
-comment
-#\
-EOI
-EOO
+ : start-same
+ :
+ $* <<EOI >>EOO
+ foo #\
+ comment
+ comment
+ #\
+ EOI
+ 'foo'
+ <newline>
+ EOO
-$* <<EOI >>:EOO # multi-empty
-#\
-#\
-EOI
-EOO
+ : end-same
+ :
+ $* <<EOI >>EOO
+ #\
+ comment
+ comment
+ foo #\
+ bar
+ EOI
+ 'bar'
+ <newline>
+ EOO
-$* <<EOI >>EOO # multi-start-same
-foo #\
-comment
-comment
-#\
-EOI
-'foo'
-<newline>
-EOO
+ : end-not
+ :
+ $* <<EOI >>EOO
+ #\
+ comment
+ #\ not an end
+ foo #\
+ bar
+ EOI
+ 'bar'
+ <newline>
+ EOO
-$* <<EOI >>EOO # multi-end-same
-#\
-comment
-comment
-foo #\
-bar
-EOI
-'bar'
-<newline>
-EOO
-
-$* <<EOI >>EOO # multi-end-not
-#\
-comment
-#\ not an end
-foo #\
-bar
-EOI
-'bar'
-<newline>
-EOO
-
-$* <<EOI 2>>EOE != 0 # multi-unterm
-#\
-comment
-EOI
-stdin:3:1: error: unterminated multi-line comment
-EOE
+ : unterm
+ :
+ $* <<EOI 2>>EOE != 0
+ #\
+ comment
+ EOI
+ stdin:3:1: error: unterminated multi-line comment
+ EOE
+}
diff --git a/unit-tests/lexer/quoting.test b/unit-tests/lexer/quoting.test
index 84818fc..a44d6af 100644
--- a/unit-tests/lexer/quoting.test
+++ b/unit-tests/lexer/quoting.test
@@ -11,81 +11,94 @@ $* <'foo' >>EOO
<newline>
EOO
-: single-comp
+: comp
:
-$* <":'foo':" >>EOO
-:
-'foo' [S/C]
-:
-<newline>
-EOO
+{
+ : single
+ :
+ $* <":'foo':" >>EOO
+ :
+ 'foo' [S/C]
+ :
+ <newline>
+ EOO
-: double-comp
-:
-$* <':"foo":' >>EOO
-:
-'foo' [D/C]
-:
-<newline>
-EOO
+ : double
+ :
+ $* <':"foo":' >>EOO
+ :
+ 'foo' [D/C]
+ :
+ <newline>
+ EOO
-: single-empty-comp
-:
-$* <"''" >>EOO
-'' [S/C]
-<newline>
-EOO
+ : single-empty
+ :
+ $* <"''" >>EOO
+ '' [S/C]
+ <newline>
+ EOO
-: double-empty-comp
-:
-$* <'""' >>EOO
-'' [D/C]
-<newline>
-EOO
+ : double-empty
+ :
+ $* <'""' >>EOO
+ '' [D/C]
+ <newline>
+ EOO
+}
-: part-start-quoted
-: Token start already quoted
-:
-$* <'"$foo"' >>EOO
-'' [D/P]
-$ [D/C]
-'foo' [D/P]
-<newline>
-EOO
+: part
+{
+ : quoted
+ {
+ : start
+ : Token start already quoted
+ :
+ $* <'"$foo"' >>EOO
+ '' [D/P]
+ $ [D/C]
+ 'foo' [D/P]
+ <newline>
+ EOO
-: part-end-quoted
-: Token end still quoted
-:
-$* <'"foo$"' >>EOO
-'foo' [D/P]
-$ [D/C]
-'' [D/P]
-<newline>
-EOO
+ : end
+ : Token end still quoted
+ :
+ $* <'"foo$"' >>EOO
+ 'foo' [D/P]
+ $ [D/C]
+ '' [D/P]
+ <newline>
+ EOO
+ }
-: part-start-unquoted
-: Token starts with unquoted character
-:
-$* <'f"oo"' >>EOO
-'foo' [D/P]
-<newline>
-EOO
+ : unquoted
+ {
+ : start
+ : Token starts with unquoted character
+ :
+ $* <'f"oo"' >>EOO
+ 'foo' [D/P]
+ <newline>
+ EOO
-: part-unquoted
-: Token continous with unquoted character
-:
-$* <'"fo"o' >>EOO
-'foo' [D/P]
-<newline>
-EOO
+ : end
+ : Token continous with unquoted character
+ :
+ $* <'"fo"o' >>EOO
+ 'foo' [D/P]
+ <newline>
+ EOO
-: part-unquoted-escape
-: Token continous with unquoted escaped character
-:
-$* <'"fo"\"' >>EOO
-'fo"' [D/P]
-<newline>
-EOO
+ : escape
+ : Token continous with unquoted escaped character
+ :
+ $* <'"fo"\"' >>EOO
+ 'fo"' [D/P]
+ <newline>
+ EOO
+ }
+}
: mixed
: