# file      : tests/file/testscript
# copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC
# license   : MIT; see accompanying LICENSE file

# End-of-line marker. Place its expansion in here-documents after the trailing
# spaces to prevent them from being stripped by editors and to improve
# readability.
#
eol = ""

+cat <<EOI >=empty.cli
# Empty options file.
#

EOI
+cat <<EOI >=base.cli
-a 21
-b 21
EOI

# @@ Give tests some meaningfull descriptions.
#

: 000
:
cat <<EOI >=test.cli;
-a 	11
-b  11
  -a 12

	-b 12
a
EOI
$* -a 1 --file ../empty.cli -b 1 --file ../base.cli --file test.cli b >>EOO
-a
1
-b
1
-a
21
-b
21
-a
11
-b
11
-a
12
-b
12
a
b
EOO

: 001
:
cat <<EOI >=test.cli;
# Empty options file.
#

EOI
$* -a 1 -- --file test.cli b >>EOO
-a
1
--
--file
test.cli
b
EOO

: 002
:
cat <<EOI >=test.cli;
-a 11
-b 11
--
--file ../base.cli
-a 12
-b 12
a
EOI
$* -a 1 --file test.cli --file ../empty.cli b >>EOO
-a
1
-a
11
-b
11
--
--file
../base.cli
-a
12
-b
12
a
--file
../empty.cli
b
EOO

: 003
:
$* -a 1 --file ../base.cli --file test.cli b >>EOO 2>>EOE
-a
1
-a
21
-b
21
EOO
unable to open file 'test.cli' or read failure
EOE

: 004
:
cat <<EOI >=test.cli;
-a a"b"c
-a "abc"
-a "a"b"
-a ""
-a " abc "
-a " "
-a """
-a "'"

-a a'b'c
-a 'abc'
-a 'a'b'
-a ''
-a ' abc '
-a ' '
-a '''
-a '"'
EOI
$* --file test.cli >>"EOO"
-a
a"b"c
-a
abc
-a
a"b
-a

-a
 abc $eol
-a
 $eol
-a
"
-a
'
-a
a'b'c
-a
abc
-a
a'b
-a

-a
 abc $eol
-a
 $eol
-a
'
-a
"
EOO

: 005
:
cat <<EOI >=test.cli;
-a "
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument '"'
EOE

: 006
:
cat <<EOI >=test.cli;
-a "abc
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument '"abc'
EOE

: 007
:
cat <<EOI >=test.cli;
-a abc"
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument 'abc"'
EOE

: 008
:
cat <<EOI >=test.cli;
-a '
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument '''
EOE

: 009
:
cat <<EOI >=test.cli;
-a 'abc
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument ''abc'
EOE

: 010
:
cat <<EOI >=test.cli;
-a abc'
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument 'abc''
EOE

: 011
:
cat <<EOI >=test.cli;
-a "abc'
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument '"abc''
EOE

: 012
:
cat <<EOI >=test.cli;
-a 'abc"
EOI
$* --file test.cli 2>>EOE
unmatched quote in argument ''abc"'
EOE