aboutsummaryrefslogtreecommitdiff
path: root/tests/test
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-10-20 19:39:57 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-10-21 11:50:52 +0300
commit4881a227779a78db1de2a7723e2a86f2b61453b3 (patch)
treec85ca613cc1a9dc4952d0cc7b0c55603f2b4edfa /tests/test
parente5efed8e25180b9d009edf2a06e5151db107e883 (diff)
Change attribute syntax in script to come after variable in set and for (set x [...], for x [...])
Diffstat (limited to 'tests/test')
-rw-r--r--tests/test/script/runner/for.testscript55
-rw-r--r--tests/test/script/runner/set.testscript14
2 files changed, 47 insertions, 22 deletions
diff --git a/tests/test/script/runner/for.testscript b/tests/test/script/runner/for.testscript
index 658ff49..765b978 100644
--- a/tests/test/script/runner/for.testscript
+++ b/tests/test/script/runner/for.testscript
@@ -33,11 +33,11 @@
: special-var
:
$c <<EOI && $b 2>>EOE != 0
- for *: -a -b
- echo $* >|
+ for ~: -a -b
+ echo $~ >|
end
EOI
- testscript:1:5: error: attempt to set '*' variable directly
+ testscript:1:5: error: attempt to set '~' variable directly
EOE
: exit
@@ -109,7 +109,7 @@
: typed
:
$c <<EOI && $b >>/EOO
- echo "a b" | for -w [dir_path] x
+ echo "a b" | for -w x [dir_path]
echo $x >|
end
EOI
@@ -208,24 +208,49 @@
: special-var
:
$c <<EOI && $b 2>>EOE != 0
- echo "a b" | for -w *
+ echo "a b" | for -w ~
echo $* >|
end
EOI
- testscript:1:1: error: attempt to set '*' variable directly
+ testscript:1:1: error: attempt to set '~' variable directly
info: test id: 1
EOE
- : misuse
+ : unsep-attrs
:
$c <<EOI && $b 2>>EOE != 0
- echo "a b" | for v:
- echo $v >|
+ echo "a b" | for -w x[string]
+ echo $x >|
end
EOI
- testscript:1:19: error: expected newline instead of ':'
+ testscript:1:1: error: for: expected variable name instead of x[string]
+ info: test id: 1
EOE
+ : misuse
+ :
+ {
+ : after-var
+ :
+ $c <<EOI && $b 2>>EOE != 0
+ echo "a b" | for v:
+ echo $v >|
+ end
+ EOI
+ testscript:1:19: error: expected newline instead of ':'
+ EOE
+
+ : after-attrs
+ :
+ $c <<EOI && $b 2>>EOE != 0
+ echo "a b" | for v [string]:
+ echo $v >|
+ end
+ EOI
+ testscript:1:28: error: expected newline instead of ':'
+ EOE
+ }
+
: exit
:
$c <<EOI && $b >>EOO
@@ -343,7 +368,7 @@
: typed
:
$c <<EOI && $b >>/EOO
- for -w [dir_path] x <"a b"
+ for -w x [dir_path] <"a b"
echo $x >|
end
EOI
@@ -354,7 +379,7 @@
: typed-no-ops
:
$c <<EOI && $b >>/EOO
- for [dir_path] x <"a b"
+ for x [dir_path] <"a b"
echo $x >|
end
EOI
@@ -443,11 +468,11 @@
: special-var
:
$c <<EOI && $b 2>>EOE != 0
- for * <"a b"
- echo $* >|
+ for ~ <"a b"
+ echo $~ >|
end
EOI
- testscript:1:5: error: attempt to set '*' variable directly
+ testscript:1:5: error: attempt to set '~' variable directly
EOE
: exit
diff --git a/tests/test/script/runner/set.testscript b/tests/test/script/runner/set.testscript
index b4c8089..b22e3f0 100644
--- a/tests/test/script/runner/set.testscript
+++ b/tests/test/script/runner/set.testscript
@@ -76,7 +76,7 @@
: empty-attrs
:
- $c <"set '' baz" && $b 2>>EOE != 0
+ $c <"set baz ''" && $b 2>>EOE != 0
testscript:1:1: error: set: empty variable attributes
info: test id: 1
EOE
@@ -546,14 +546,14 @@
: dir_path
:
$c <<EOI && $b
- set [dir_path] bar <'foo';
+ set bar [dir_path] <'foo';
echo $bar >/'foo/'
EOI
: null
:
$c <<EOI && $b
- set [null] foo <-;
+ set foo [null] <-;
echo $foo >''
EOI
@@ -571,7 +571,7 @@
: empty-brackets
:
$c <<EOI && $b 2>>EOE != 0
- set -w '[]' baz <'foo bar';
+ set -w baz '[]' <'foo bar';
echo "$baz"
EOI
testscript:2:8: error: concatenating variable expansion contains multiple values
@@ -580,7 +580,7 @@
: no-left-bracket
:
$c <<EOI && $b 2>>EOE != 0
- set -w x baz
+ set -w baz x
EOI
<attributes>:1:1: error: expected '[' instead of 'x'
testscript:1:1: info: while parsing attributes 'x'
@@ -590,7 +590,7 @@
: unknown
:
$c <<EOI && $b 2>>EOE != 0
- set -w [x] baz
+ set -w baz [x]
EOI
<attributes>:1:1: error: unknown value attribute x
testscript:1:1: info: while parsing attributes '[x]'
@@ -600,7 +600,7 @@
: junk
:
$c <<EOI && $b 2>>EOE != 0
- set -w '[string] x' baz
+ set -w baz '[string] x'
EOI
<attributes>:1:10: error: trailing junk after ']'
testscript:1:1: info: while parsing attributes '[string] x'