aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test4.in
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test4.in')
-rw-r--r--tests/test4.in35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test4.in b/tests/test4.in
new file mode 100644
index 00000000..75c2c7ec
--- /dev/null
+++ b/tests/test4.in
@@ -0,0 +1,35 @@
+#Test scoping rules for functions
+
+set -e smurf
+
+function setter
+set smurf green
+end
+
+function unsetter
+set -e smurf
+end
+
+function call1
+set smurf blue; setter; if test $smurf = blue; echo Test 1 pass; else; echo Test 1 fail; end
+end
+
+function call2
+set smurf blue; unsetter; if test $smurf = blue; echo Test 2 pass; else; echo Test 2 fail; end
+end
+
+call1
+call2
+
+function call3
+setter; if test $smurf = green; echo Test 3 pass; else; echo Test 3 fail; end
+end
+
+function call4
+unsetter; if test !$smurf; echo Test 4 pass; else; echo Test 4 fail; end
+end
+
+set -g smurf yellow
+call3
+call4
+