aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/lexer+normal.test.testscript
blob: e2780a208fe4a58402504ceb78b3b557a1fcf5af (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
# file      : libbuild2/lexer+normal.test.testscript
# license   : MIT; see accompanying LICENSE file

test.arguments = normal

: assign
:
$* <:'x=y' >>EOO
'x'
=
'y'
EOO

: append
:
$* <:'x+=y' >>EOO
'x'
+=
'y'
EOO

: prepend
:
$* <:'x=+y' >>EOO
'x'
=+
'y'
EOO

: default-assign
:
$* <:'x?=y' >>EOO
'x'
?=
'y'
EOO

: percent
: Leading percent sign recognition.
:
{
  : first
  :
  $* <:'%%' >>EOO
  %
  '%'
  EOO

  : space
  :
  $* <:'  %%' >>EOO
   %
  '%'
  EOO

  : newline
  :
  $* <<EOI >>EOO

    %%
  EOI
   %
  '%'
  <newline>
  EOO

  : non-token
  :
  $* <:'x%' >>EOO
  'x%'
  EOO
}

: multi-lcbrace
: Leading multi-curly-brace recognition.
:
{
  : two
  :
  $* <:'{{' >>EOO
  {{
  EOO

  : three
  :
  $* <:'{{{c++' >>EOO
  {{{
  'c++'
  EOO
}