# file      : libbuild2/test/script/lexer+variable.test.testscript
# license   : MIT; see accompanying LICENSE file

# Test handling custom variable names ($*, $~, $NN).
#
test.arguments = variable

: command
:
{
  : only
  :
  $* <"*" >>EOO
  '*'
  <newline>
  EOO

  : followed
  :
  $* <"*abc" >>EOO
  '*'
  'abc'
  <newline>
  EOO
}

: working-dir
:
{
  : only
  :
  $* <"~" >>EOO
  '~'
  <newline>
  EOO

  : followed
  :
  $* <"~123" >>EOO
  '~'
  '123'
  <newline>
  EOO
}

: arg
:
{
  : only
  :
  $* <"0" >>EOO
  '0'
  <newline>
  EOO

  : followed
  :
  $* <"1abc" >>EOO
  '1'
  'abc'
  <newline>
  EOO

  : multi-digit
  :
  $* <"10" 2>>EOE != 0
  <stdin>:1:2: error: multi-digit special variable name
    info: use '($*[NN])' to access elements beyond 9
  EOE
}
