# file      : tests/value/concat.testscript
# license   : MIT; see accompanying LICENSE file

.include ../common.testscript

: null
:
{
  : untyped
  :
  $* <<EOI >>/EOO
  x = [null]

  print y "$x x"
  print "x $x" y

  print $x"x"
  print "x"$x
  print $x$x
  EOI
  y  x
  x  y
  x
  x
  {}
  EOO

  : string
  :
  $* <<EOI >>/EOO
  x = [string,null]

  print y "$x x"
  print "x $x" y

  print $x"x"
  print "x"$x
  print $x$x
  EOI
  y  x
  x  y
  x
  x
  {}
  EOO
}

: dir_path
:
{
  : name
  :
  $* <<EOI >>/EOO
  d = [dir_path] foo
  f = bar
  print $d/$f
  EOI
  foo/bar
  EOO

  : string
  :
  $* <<EOI >>/EOO
  d = [dir_path] foo
  f = [string] bar
  print $d/$f
  EOI
  foo/bar
  EOO

  : leading-separator
  :
  $* <<EOI >>/EOO
  d = [dir_path] foo
  f = /bar
  print $d/$f
  EOI
  foo/bar
  EOO

  : not-separated
  :
  $* <<EOI >>/EOO
  d = [dir_path] foo
  f = bar
  print $d$f
  EOI
  foo/bar
  EOO
}

: path
:
{
  : separated
  :
  $* <<EOI >>/EOO
  d = [path] foo
  f = bar
  print $d/$f
  EOI
  foo/bar
  EOO

  : not-separated
  :
  $* <<EOI >>/EOO
  d = [path] foo
  f = bar
  print $d$f
  EOI
  foobar
  EOO
}