# file      : unit-tests/test/script/lexer/variable.test
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# 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:1: error: multi-digit special variable name
  EOE
}