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

# Test handling special variable names ($*, $NN, $~).
#

test.arguments = variable

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

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

#\
: temporary-dir
:
{{
  # @@ TODO
}}
#\

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

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

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