# 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
}