aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/lexer/quoting.test
blob: aab02c39fcdadbab608d65887ec9d8e3ac1f210c (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# file      : unit-tests/lexer/quoting.test
# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

test.options += -q

: unquoted
:
$* <'foo' >>EOO
'foo'
<newline>
EOO

: single-comp
:
$* <":'foo':" >>EOO
:
'foo' [S/C]
:
<newline>
EOO

: double-comp
:
$* <':"foo":' >>EOO
:
'foo' [D/C]
:
<newline>
EOO

: single-empty-comp
:
$* <"''" >>EOO
'' [S/C]
<newline>
EOO

: double-empty-comp
:
$* <'""' >>EOO
'' [D/C]
<newline>
EOO

: part-start-quoted
: Token start already quoted
:
$* <'"$foo"' >>EOO
'' [D/P]
$
'foo' [D/P]
<newline>
EOO

: part-end-quoted
: Token end still quoted
:
$* <'"foo$"' >>EOO
'foo' [D/P]
$
'' [D/P]
<newline>
EOO

: part-start-unquoted
: 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

: part-unquoted-escape
: Token continous with unquoted escaped character
:
$* <'"fo"\"' >>EOO
'fo"' [D/P]
<newline>
EOO

: mixed
:
$* <"\"fo\"'o'" >>EOO
'foo' [M/P]
<newline>
EOO