summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/tie/tie_log.test
diff options
context:
space:
mode:
Diffstat (limited to 'tcllib/modules/tie/tie_log.test')
-rw-r--r--tcllib/modules/tie/tie_log.test240
1 files changed, 240 insertions, 0 deletions
diff --git a/tcllib/modules/tie/tie_log.test b/tcllib/modules/tie/tie_log.test
new file mode 100644
index 0000000..2316d9e
--- /dev/null
+++ b/tcllib/modules/tie/tie_log.test
@@ -0,0 +1,240 @@
+# Tests for the tie module. -*- tcl -*-
+#
+# Copyright (c) 2004 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+# All rights reserved.
+#
+# RCS: @(#) $Id: tie_log.test,v 1.7 2006/10/09 21:41:42 andreas_kupries Exp $
+
+# -------------------------------------------------------------------------
+
+source [file join \
+ [file dirname [file dirname [file join [pwd] [info script]]]] \
+ devtools testutilities.tcl]
+
+testsNeedTcl 8.4
+testsNeedTcltest 1.0
+
+support {
+ use snit/snit.tcl snit
+ useLocal tie.tcl tie
+}
+testing {
+ useLocal tie_log.tcl tie::std::log
+}
+
+# -------------------------------------------------------------------------
+
+proc note {level text} {global res ; lappend res $text ; return}
+log::lvCmdForall note
+log::lvSuppressLE critical 0
+
+# -------------------------------------------------------------------------
+# Creation of array daat sources
+# Errors: Undefined variable, scalar, local variable
+
+test tie-log-1.0 {log creation, wrong#args} {
+ catch {tie::std::log x y z} msg
+ set msg
+} {Error in constructor: wrong # args: should be "::tie::std::log::Snit_constructor type selfns win self"}
+
+test tie-log-1.1 {log creation, %AUTO%} {
+ set res {}
+ lappend res [tie::std::log x]
+ x destroy
+ set res
+} {{::x construction} ::x {::x destruction}}
+
+test tie-log-1.2 {log creation, %AUTO%} {
+ set res {}
+ lappend res [set msg [tie::std::log %AUTO%]]
+ $msg destroy
+ set res
+} {{::log3 construction} ::log3 {::log3 destruction}}
+
+# -------------------------------------------------------------------------
+## Methods
+
+test tie-log-2.0 {log get, wrong#args} {
+ tie::std::log x
+ catch {x get a} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodget type selfns win self"}
+
+test tie-log-2.1 {log get} {
+ set res {}
+ tie::std::log x
+ lappend res [x get]
+ x destroy
+ set res
+} {{::x construction} {::x get (nothing)} {} {::x destruction}}
+
+
+test tie-log-3.0 {log set, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x set} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodset type selfns win self dict"}
+
+test tie-log-3.1 {log set, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x set a b} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodset type selfns win self dict"}
+
+test tie-log-3.2 {log set} {
+ set res {}
+ tie::std::log x
+ lappend res [x set {c 3 b 2 a 1}]
+ x destroy
+ set res
+} {{::x construction} {::x set {c 3 b 2 a 1}} {} {::x destruction}}
+
+
+test tie-log-4.0 {log names, wrong#args} {
+ tie::std::log x
+ catch {x names a} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodnames type selfns win self"}
+
+test tie-log-4.1 {log names} {
+ set res {}
+ tie::std::log x
+ lappend res [x names]
+ x destroy
+ set res
+} {{::x construction} {::x names (nothing)} {} {::x destruction}}
+
+
+test tie-log-5.0 {log size, wrong#args} {
+ tie::std::log x
+ catch {x size a} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodsize type selfns win self"}
+
+test tie-log-5.1 {log size} {
+ set res {}
+ tie::std::log x
+ lappend res [x size]
+ x destroy
+ set res
+} {{::x construction} {::x size (0)} 0 {::x destruction}}
+
+
+test tie-log-6.0 {log unset, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x unset a b} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodunset type selfns win self ?pattern?"}
+
+test tie-log-6.1 {log unset, default pattern} {
+ set res {}
+ tie::std::log x
+ lappend res [x unset]
+ x destroy
+ set res
+} {{::x construction} {::x unset *} {} {::x destruction}}
+
+test tie-log-6.2 {log unset, by pattern} {
+ set res {}
+ tie::std::log x
+ lappend res [x unset f*]
+ x destroy
+ set res
+} {{::x construction} {::x unset f*} {} {::x destruction}}
+
+
+test tie-log-7.0 {log getv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x getv} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodgetv type selfns win self index"}
+
+test tie-log-7.1 {log getv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x getv a b} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodgetv type selfns win self index"}
+
+test tie-log-7.2 {log getv} {
+ set res {}
+ tie::std::log x
+ lappend res [x getv a]
+ x destroy
+ set res
+} {{::x construction} {::x get (a)} {} {::x destruction}}
+
+
+test tie-log-8.0 {log setv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x setv} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodsetv type selfns win self index value"}
+
+test tie-log-8.1 {log setv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x setv a} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodsetv type selfns win self index value"}
+
+test tie-log-8.2 {log setv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x setv a b c} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodsetv type selfns win self index value"}
+
+test tie-log-8.3 {log setv} {
+ set res {}
+ tie::std::log x
+ lappend res [x setv fox snarf]
+ x destroy
+ set res
+} {{::x construction} {::x set (fox) = [snarf]} {} {::x destruction}}
+
+
+test tie-log-9.0 {log unsetv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x unsetv} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodunsetv type selfns win self index"}
+
+test tie-log-9.1 {log unsetv, wrong#args} {
+ tie::std::log x
+ set res {}
+ catch {x unsetv a b} msg
+ x destroy
+ set msg
+} {wrong # args: should be "::tie::std::log::Snit_methodunsetv type selfns win self index"}
+
+test tie-log-9.2 {log unsetv} {
+ set res {}
+ tie::std::log x
+ lappend res [x unsetv a]
+ x destroy
+ set res
+} {{::x construction} {::x unset (a)} {} {::x destruction}}
+
+# Switch off logging
+log::lvSuppressLE critical 1
+testsuiteCleanup
+return