summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Test/B07emulate.ztst74
2 files changed, 79 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 54edc2b81..a56747cf3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-02-10  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* 26545: Test/B07emulate.ztst: new test.
+
 2009-02-10  Clint Adams  <clint@zsh.org>
 
 	* 26544: Completion/Unix/Command/_lp: complete pdf files
@@ -11124,5 +11128,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4557 $                         
+* $Revision: 1.4558 $                         
 *****************************************************
diff --git a/Test/B07emulate.ztst b/Test/B07emulate.ztst
new file mode 100644
index 000000000..57eea3806
--- /dev/null
+++ b/Test/B07emulate.ztst
@@ -0,0 +1,74 @@
+# Test the "emulate" builtin and related functions.
+
+%prep
+
+  isset() { 
+    if [[ -o $1 ]]; then print yes; else print no; fi
+  }
+  showopts() {
+      # Set for Bourne shell emulation
+      isset shwordsplit
+      # Set in native mode and unless "emulate -R" is in use
+      isset banghist
+  }
+
+%test
+
+  (showopts
+  fn() {
+     emulate sh
+  }
+  fn
+  showopts)
+0:Basic use of emulate
+>no
+>yes
+>yes
+>yes
+
+  fn() {
+    emulate -L sh
+    showopts
+  }
+  showopts
+  fn
+  showopts
+0:Use of emulate -L
+>no
+>yes
+>yes
+>yes
+>no
+>yes
+
+  (showopts
+  emulate -R sh
+  showopts)
+0:Use of emulate -R
+>no
+>yes
+>yes
+>no
+
+  showopts
+  emulate sh -c 'showopts'
+  showopts
+0:Use of emulate -c
+>no
+>yes
+>yes
+>yes
+>no
+>yes
+
+
+  showopts
+  emulate -R sh -c 'showopts'
+  showopts
+0:Use of emulate -R -c
+>no
+>yes
+>yes
+>no
+>no
+>yes