fixed problems with help; changed zsh checks
diff --git a/source/1.0/doc/CHANGES-1.0.txt b/source/1.0/doc/CHANGES-1.0.txt
index 4fe5324..2d55d64 100644
--- a/source/1.0/doc/CHANGES-1.0.txt
+++ b/source/1.0/doc/CHANGES-1.0.txt
@@ -8,6 +8,12 @@
 
 Added additional example files that are referenced by the documentation.
 
+Improved zsh version and option checking.
+
+Upgraded shUnit2 to 2.1.4
+
+Added unit testing for the help output.
+
 
 Changes with 1.0.0
 ------------------
diff --git a/source/1.0/src/shflags b/source/1.0/src/shflags
index 08216fc..0e34287 100644
--- a/source/1.0/src/shflags
+++ b/source/1.0/src/shflags
@@ -79,8 +79,9 @@
 
 # specific shell checks
 if [ -n "${ZSH_VERSION:-}" ]; then
-  if [ "`set -o |grep "^shwordsplit" |awk '{print $2}'`" = 'off' ]; then
-    _flags_fatal 'shwordsplit is required for proper operation'
+  setopt |grep "^shwordsplit$" >/dev/null
+  if [ $? -ne ${FLAGS_TRUE} ]; then
+    _flags_fatal 'zsh shwordsplit option is required for proper zsh operation'
     exit ${FLAGS_ERROR}
   fi
   if [ -z "${FLAGS_PARENT:-}" ]; then
@@ -156,7 +157,10 @@
 _flags_constants=`set |awk -F= '/^FLAGS_/ || /^__FLAGS_/ {print $1}'`
 for _flags_const in ${_flags_constants}; do
   if [ -n "${ZSH_VERSION:-}" ]; then
-    readonly -g ${_flags_const}  # declare readonly constants globally
+    case ${ZSH_VERSION} in
+      [123].*) readonly ${_flags_const} ;;
+      *) readonly -g ${_flags_const} ;;  # declare readonly constants globally
+    esac
   else
     readonly ${_flags_const}
   fi
diff --git a/source/1.0/src/shflags_test.sh b/source/1.0/src/shflags_test.sh
index 0a58c90..0cbfdbc 100755
--- a/source/1.0/src/shflags_test.sh
+++ b/source/1.0/src/shflags_test.sh
@@ -100,7 +100,6 @@
 EOF
 
   shell_name=`basename ${shell}`
-  shell_opts=''
   case ${shell_name} in
     bash) echo; ${shell} --version; ;;
     dash) ;;
@@ -114,9 +113,9 @@
       ;;
     pdksh) ;;
     zsh)
-      shell_opts='-o shwordsplit --'
+      version=`echo 'echo ${ZSH_VERSION}' |${shell}`
       echo
-      ${shell} --version
+      echo "version: ${version}"
       ;;
   esac
 
@@ -125,7 +124,7 @@
     suiteName=`expr "${suite}" : "${PREFIX}\(.*\).sh"`
     echo
     echo "--- Executing the '${suiteName}' test suite ---" >&2
-    ( exec ${shell} ${shell_opts} ./${suite}; )
+    ( exec ${shell} ./${suite}; )
   done
 done
 
diff --git a/source/1.0/src/shflags_test_defines.sh b/source/1.0/src/shflags_test_defines.sh
index caf2eb8..5e2f899 100755
--- a/source/1.0/src/shflags_test_defines.sh
+++ b/source/1.0/src/shflags_test_defines.sh
@@ -11,6 +11,9 @@
 # load test helpers
 . ./shflags_test_helpers
 
+# set shwordsplit for zsh
+[ -n "${ZSH_VERSION:-}" ] && setopt shwordsplit
+
 #------------------------------------------------------------------------------
 # suite tests
 #
diff --git a/source/1.0/src/shflags_test_helpers b/source/1.0/src/shflags_test_helpers
index 0c0cdb6..1ecddc7 100644
--- a/source/1.0/src/shflags_test_helpers
+++ b/source/1.0/src/shflags_test_helpers
@@ -9,6 +9,9 @@
 
 __th_skipping=0
 
+# set shwordsplit for zsh
+[ -n "${ZSH_VERSION:-}" ] && setopt shwordsplit
+
 # my name
 TH_MY_NAME=`basename "$0"`
 
diff --git a/source/1.0/src/shflags_test_parsing.sh b/source/1.0/src/shflags_test_parsing.sh
index f208cca..7d84f14 100755
--- a/source/1.0/src/shflags_test_parsing.sh
+++ b/source/1.0/src/shflags_test_parsing.sh
@@ -13,6 +13,9 @@
 # load test helpers
 . ./shflags_test_helpers
 
+# set shwordsplit for zsh
+[ -n "${ZSH_VERSION:-}" ] && setopt shwordsplit
+
 #------------------------------------------------------------------------------
 # suite tests
 #
diff --git a/source/1.0/src/shflags_test_private.sh b/source/1.0/src/shflags_test_private.sh
index 0389cd0..9f8d4ce 100755
--- a/source/1.0/src/shflags_test_private.sh
+++ b/source/1.0/src/shflags_test_private.sh
@@ -11,6 +11,9 @@
 # load test helpers
 . ./shflags_test_helpers
 
+# set shwordsplit for zsh
+[ -n "${ZSH_VERSION:-}" ] && setopt shwordsplit
+
 #------------------------------------------------------------------------------
 # suite tests
 #
diff --git a/source/1.0/src/shflags_test_public.sh b/source/1.0/src/shflags_test_public.sh
index 2ab5902..933e596 100755
--- a/source/1.0/src/shflags_test_public.sh
+++ b/source/1.0/src/shflags_test_public.sh
@@ -11,6 +11,9 @@
 # load test helpers
 . ./shflags_test_helpers
 
+# set shwordsplit for zsh
+[ -n "${ZSH_VERSION:-}" ] && setopt shwordsplit
+
 #------------------------------------------------------------------------------
 # suite tests
 #