summaryrefslogtreecommitdiffstats
path: root/tests/msgcat.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/msgcat.test')
-rw-r--r--tests/msgcat.test742
1 files changed, 20 insertions, 722 deletions
diff --git a/tests/msgcat.test b/tests/msgcat.test
index 6d2ba2c..050b592 100644
--- a/tests/msgcat.test
+++ b/tests/msgcat.test
@@ -2,8 +2,8 @@
# Sourcing this file into Tcl runs the tests and
# generates output for errors. No output means no errors were found.
#
-# Copyright © 1998 Mark Harrison.
-# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright (c) 1998 Mark Harrison.
+# Copyright (c) 1998-1999 by Scriptics Corporation.
# Contributions from Don Porter, NIST, 2002. (not subject to US copyright)
#
# See the file "license.terms" for information on usage and redistribution
@@ -12,12 +12,13 @@
# Note that after running these tests, entries will be left behind in the
# message catalogs for locales foo, foo_BAR, and foo_BAR_baz.
-if {"::tcltest" ni [namespace children]} {
- package require tcltest 2.5
- namespace import -force ::tcltest::*
+package require Tcl 8.5
+if {[catch {package require tcltest 2}]} {
+ puts stderr "Skipping tests in [info script]. tcltest 2 required."
+ return
}
-if {[catch {package require msgcat 1.6}]} {
- puts stderr "Skipping tests in [info script]. No msgcat 1.6 found to test."
+if {[catch {package require msgcat 1.5}]} {
+ puts stderr "Skipping tests in [info script]. No msgcat 1.5 found to test."
return
}
@@ -31,8 +32,6 @@ namespace eval ::msgcat::test {
# Tests msgcat-0.*: locale initialization
- # Calculate set of all permutations of a list
- # PowerSet {1 2 3} -> {1 2 3} {2 3} {1 3} 3 {1 2} 2 1 {}
proc PowerSet {l} {
if {[llength $l] == 0} {return [list [list]]}
set element [lindex $l 0]
@@ -50,17 +49,12 @@ namespace eval ::msgcat::test {
variable body
variable result
variable setVars
- foreach setVars [PowerSet $envVars] {
+ foreach setVars [PowerSet $envVars] {
set result [string tolower [lindex $setVars 0]]
if {[string length $result] == 0} {
if {[info exists ::tcl::mac::locale]} {
-if {[package vsatisfies [package provide msgcat] 1.7]} {
- set result [string tolower \
- [msgcat::mcutil::ConvertLocale $::tcl::mac::locale]]
-} else {
set result [string tolower \
[msgcat::ConvertLocale $::tcl::mac::locale]]
-}
} else {
if {([info sharedlibextension] eq ".dll")
&& ![catch {package require registry}]} {
@@ -72,7 +66,6 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
set result c
}
}
-
test msgcat-0.$count [list \
locale initialization from environment variables $setVars \
] -setup {
@@ -98,7 +91,7 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
incr count
}
unset -nocomplain result
-
+
# Could add tests of initialization from Windows registry here.
# Use a fake registry package.
@@ -198,28 +191,6 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
mclocale looks/ok/../../../../but/is/path/to/evil/code
} -returnCodes error -match glob -result {invalid newLocale value *}
- test msgcat-1.14 {mcpreferences, custom locale preferences} -setup {
- variable locale [mclocale]
- mclocale en
- mcpreferences fr en {}
- } -cleanup {
- mclocale $locale
- } -body {
- mcpreferences
- } -result {fr en {}}
-
- test msgcat-1.15 {mcpreferences, overwrite custom locale preferences}\
- -setup {
- variable locale [mclocale]
- mcpreferences fr en {}
- mclocale en
- } -cleanup {
- mclocale $locale
- } -body {
- mcpreferences
- } -result {en {}}
-
-
# Tests msgcat-2.*: [mcset], [mcmset], namespace partitioning
test msgcat-2.1 {mcset, global scope} {
@@ -320,11 +291,11 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
variable count 2
variable result
array set result {
- foo,ov0 ov0_ROOT foo,ov1 ov1_foo foo,ov2 ov2_foo
+ foo,ov0 ov0_ROOT foo,ov1 ov1_foo foo,ov2 ov2_foo
foo,ov3 ov3_foo foo,ov4 ov4
- foo_BAR,ov0 ov0_ROOT foo_BAR,ov1 ov1_foo foo_BAR,ov2 ov2_foo_BAR
- foo_BAR,ov3 ov3_foo_BAR foo_BAR,ov4 ov4
- foo_BAR_baz,ov0 ov0_ROOT foo_BAR_baz,ov1 ov1_foo
+ foo_BAR,ov0 ov0_ROOT foo_BAR,ov1 ov1_foo foo_BAR,ov2 ov2_foo_BAR
+ foo_BAR,ov3 ov3_foo_BAR foo_BAR,ov4 ov4
+ foo_BAR_baz,ov0 ov0_ROOT foo_BAR_baz,ov1 ov1_foo
foo_BAR_baz,ov2 ov2_foo_BAR
foo_BAR_baz,ov3 ov3_foo_BAR_baz foo_BAR_baz,ov4 ov4
}
@@ -441,14 +412,9 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
foreach loc {foo foo_BAR foo_BAR_baz} {
test msgcat-5.$count {mcload} -setup {
variable locale [mclocale]
- ::msgcat::mclocale ""
- ::msgcat::mcloadedlocales clear
- ::msgcat::mcpackageconfig unset mcfolder
mclocale $loc
} -cleanup {
mclocale $locale
- ::msgcat::mcloadedlocales clear
- ::msgcat::mcpackageconfig unset mcfolder
} -body {
mcload $msgdir
} -result [expr { $count+1 }]
@@ -462,8 +428,6 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
mclocale foo_BAR_notexist
} -cleanup {
mclocale $locale
- mcloadedlocales clear
- mcpackageconfig unset mcfolder
} -body {
mcload $msgdir
} -result 3
@@ -473,8 +437,6 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
mclocale no_FI_notexist
} -cleanup {
mclocale $locale
- mcloadedlocales clear
- mcpackageconfig unset mcfolder
} -body {
mcload $msgdir
} -result 1
@@ -535,20 +497,6 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
mc def
} -result unknown:no_fi_notexist:def
- test msgcat-5.11 {mcpackageconfig mcfolder} -setup {
- variable locale [mclocale]
- mclocale ""
- mcloadedlocales clear
- mcpackageconfig unset mcfolder
- } -cleanup {
- mclocale $locale
- mcloadedlocales clear
- mcpackageconfig unset mcfolder
- } -body {
- mclocale foo
- mcpackageconfig set mcfolder $msgdir
- } -result 2
-
foreach loc $locales {
if { $loc eq {} } {
set msg ROOT
@@ -562,7 +510,7 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
# Tests msgcat-6.*: [mcset], [mc] namespace inheritance
#
# Test mcset and mc, ensuring that resolution for messages
-# proceeds from the current ns to its parent and so on to the
+# proceeds from the current ns to its parent and so on to the
# global ns.
#
# Do this for the 12 permutations of
@@ -606,7 +554,7 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
::msgcat::mcset foo ov3 "ov3_foo_bar_baz"
}
}
-
+
}
variable locale [mclocale]
mclocale foo
@@ -692,675 +640,25 @@ if {[package vsatisfies [package provide msgcat] 1.7]} {
set msgdir3 [makeDirectory msgdir3]
makeFile "::msgcat::mcflset k2 v2 ; ::msgcat::mcload [list $msgdir3]"\
l2.msg $msgdir2
- makeFile {::msgcat::mcflset k3 v3 ; ::msgcat::mcflmset {k4 v4 k5 v5}} l2.msg $msgdir3
+ makeFile {::msgcat::mcflset k3 v3} l2.msg $msgdir3
# chained mcload
- test msgcat-8.2 {mcflset/mcflmset} -setup {
+ test msgcat-8.2 {mcflset} -setup {
variable locale [mclocale]
mclocale l2
mcload $msgdir2
} -cleanup {
mclocale $locale
} -body {
- return [mc k2][mc k3]--[mc k4][mc k5]
- } -result v2v3--v4v5
+ return [mc k2][mc k3]
+ } -result v2v3
removeFile l2.msg $msgdir2
removeDirectory msgdir2
removeDirectory msgdir3
- # Tests msgcat-9.*: [mcexists]
-
- test msgcat-9.1 {mcexists no parameter} -body {
- mcexists
- } -returnCodes 1\
- -result {wrong # args: should be "mcexists ?-exactnamespace? ?-exactlocale? ?-namespace ns? src"}
-
- test msgcat-9.2 {mcexists unknown option} -body {
- mcexists -unknown src
- } -returnCodes 1\
- -result {unknown option "-unknown"}
-
- test msgcat-9.3 {mcexists} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale foo
- mcset foo k1 v1
- } -cleanup {
- mclocale $locale
- } -body {
- list [mcexists k1] [mcexists k2]
- } -result {1 0}
-
- test msgcat-9.4 {mcexists descendent preference} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale foo_bar
- mcset foo k1 v1
- } -cleanup {
- mclocale $locale
- } -body {
- list [mcexists k1] [mcexists -exactlocale k1]
- } -result {1 0}
-
- test msgcat-9.5 {mcexists parent namespace} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale foo_bar
- mcset foo k1 v1
- } -cleanup {
- mclocale $locale
- namespace delete ::foo
- } -body {
- namespace eval ::foo {
- list [::msgcat::mcexists k1]\
- [::msgcat::mcexists -namespace ::msgcat::test k1]
- }
- } -result {0 1}
-
- test msgcat-9.6 {mcexists -namespace ns parameter} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale foo_bar
- mcset foo k1 v1
- } -cleanup {
- mclocale $locale
- namespace delete ::foo
- } -body {
- namespace eval ::foo {
- list [::msgcat::mcexists k1]\
- [::msgcat::mcexists -namespace ::msgcat::test k1]
- }
- } -result {0 1}
-
- test msgcat-9.7 {mcexists -namespace - ns argument missing} -body {
- mcexists -namespace src
- } -returnCodes 1\
- -result {Argument missing for switch "-namespace"}
-
-
- # Tests msgcat-10.*: [mcloadedlocales]
-
- test msgcat-10.1 {mcloadedlocales no arg} -body {
- mcloadedlocales
- } -returnCodes 1\
- -result {wrong # args: should be "mcloadedlocales subcommand"}
-
- test msgcat-10.2 {mcloadedlocales wrong subcommand} -body {
- mcloadedlocales junk
- } -returnCodes 1\
- -result {unknown subcommand "junk": must be clear, or loaded}
-
- test msgcat-10.3 {mcloadedlocales loaded} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale {}
- mcloadedlocales clear
- } -cleanup {
- mclocale $locale
- } -body {
- mclocale foo_bar
- # The result is position independent so sort
- set resultlist [lsort [mcloadedlocales loaded]]
- } -result {{} foo foo_bar}
-
- test msgcat-10.4 {mcloadedlocales clear} -setup {
- mcforgetpackage
- variable locale [mclocale]
- mclocale {}
- mcloadedlocales clear
- } -cleanup {
- mclocale $locale
- } -body {
- mclocale foo
- mcset foo k1 v1
- set res [mcexists k1]
- mclocale ""
- mcloadedlocales clear
- mclocale foo
- lappend res [mcexists k1]
- } -result {1 0}
-
- # Tests msgcat-11.*: [mcforgetpackage]
-
- test msgcat-11.1 {mcforgetpackage translation} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- } -body {
- mclocale foo
- mcset foo k1 v1
- set res [mcexists k1]
- mcforgetpackage
- lappend res [mcexists k1]
- } -result {1 0}
-
- test msgcat-11.2 {mcforgetpackage locale} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- } -body {
- mclocale foo
- mcpackagelocale set bar
- set res [mcpackagelocale get]
- mcforgetpackage
- lappend res [mcpackagelocale get]
- } -result {bar foo}
-
- test msgcat-11.3 {mcforgetpackage options} -body {
- mcpackageconfig set loadcmd ""
- set res [mcpackageconfig isset loadcmd]
- mcforgetpackage
- lappend res [mcpackageconfig isset loadcmd]
- } -result {1 0}
-
- # Tests msgcat-12.*: [mcpackagelocale]
-
- test msgcat-12.1 {mcpackagelocale no subcommand} -body {
- mcpackagelocale
- } -returnCodes 1\
- -result {wrong # args: should be "mcpackagelocale subcommand ?arg ...?"}
-
- test msgcat-12.2 {mclpackagelocale wrong subcommand} -body {
- mcpackagelocale junk
- } -returnCodes 1\
- -result {unknown subcommand "junk": must be clear, get, isset, loaded, present, set, or unset}
-
- test msgcat-12.2.1 {mclpackagelocale set multiple args} -body {
- mcpackagelocale set a b
- } -returnCodes 1\
- -result {wrong # args: should be "mcpackagelocale set ?locale?"}
-
- test msgcat-12.3 {mcpackagelocale set} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- mcpackagelocale set bar
- list [mcpackagelocale get] [mclocale]
- } -result {bar foo}
-
- test msgcat-12.4 {mcpackagelocale get} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- set res [mcpackagelocale get]
- mcpackagelocale set bar
- lappend res [mcpackagelocale get]
- } -result {foo bar}
-
- test msgcat-12.5 {mcpackagelocale preferences} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- set res [list [mcpackagelocale preferences]]
- mcpackagelocale set bar
- lappend res [mcpackagelocale preferences]
- } -result {{foo {}} {bar {}}}
-
- test msgcat-12.6 {mcpackagelocale loaded} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale ""
- mcloadedlocales clear
- mclocale foo
- # The result is position independent so sort
- set res [list [lsort [mcpackagelocale loaded]]]
- mcpackagelocale set bar
- lappend res [lsort [mcpackagelocale loaded]]
- } -result {{{} foo} {{} bar foo}}
-
- test msgcat-12.7 {mcpackagelocale isset} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- set res [mcpackagelocale isset]
- mcpackagelocale set bar
- lappend res [mcpackagelocale isset]
- } -result {0 1}
-
- test msgcat-12.8 {mcpackagelocale unset} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mcpackagelocale set bar
- set res [mcpackagelocale isset]
- mcpackagelocale unset
- lappend res [mcpackagelocale isset]
- } -result {1 0}
-
- test msgcat-12.9 {mcpackagelocale present} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale ""
- mcloadedlocales clear
- mclocale foo
- set res [mcpackagelocale present foo]
- lappend res [mcpackagelocale present bar]
- mcpackagelocale set bar
- lappend res [mcpackagelocale present foo]\
- [mcpackagelocale present bar]
- } -result {1 0 1 1}
-
- test msgcat-12.10 {mcpackagelocale clear} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale ""
- mcloadedlocales clear
- mclocale foo
- mcpackagelocale set bar
- mcpackagelocale clear
- list [mcpackagelocale present foo] [mcpackagelocale present bar]
- } -result {0 1}
-
- test msgcat-12.11 {mcpackagelocale custom preferences} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- set res [list [mcpackagelocale preferences]]
- mcpackagelocale preferences bar {}
- lappend res [mcpackagelocale preferences]
- } -result {{foo {}} {bar {}}}
-
- test msgcat-12.12 {mcpackagelocale preferences -> no isset} -setup {
- variable locale [mclocale]
- } -cleanup {
- mclocale $locale
- mcforgetpackage
- } -body {
- mclocale foo
- mcpackagelocale preferences
- mcpackagelocale isset
- } -result {0}
-
-
- # Tests msgcat-13.*: [mcpackageconfig subcmds]
-
- test msgcat-13.1 {mcpackageconfig no subcommand} -body {
- mcpackageconfig
- } -returnCodes 1\
- -result {wrong # args: should be "mcpackageconfig subcommand option ?value?"}
-
- test msgcat-13.2 {mclpackageconfig wrong subcommand} -body {
- mcpackageconfig junk mcfolder
- } -returnCodes 1\
- -result {unknown subcommand "junk": must be get, isset, set, or unset}
-
- test msgcat-13.3 {mclpackageconfig wrong option} -body {
- mcpackageconfig get junk
- } -returnCodes 1\
- -result {bad option "junk": must be mcfolder, loadcmd, changecmd, or unknowncmd}
-
- test msgcat-13.4 {mcpackageconfig get} -setup {
- mcforgetpackage
- } -cleanup {
- mcforgetpackage
- } -body {
- mcpackageconfig set loadcmd ""
- mcpackageconfig get loadcmd
- } -result {}
-
- test msgcat-13.5 {mcpackageconfig (is/un)set} -setup {
- mcforgetpackage
- } -cleanup {
- mcforgetpackage
- } -body {
- set res [mcpackageconfig isset loadcmd]
- lappend res [mcpackageconfig set loadcmd ""]
- lappend res [mcpackageconfig isset loadcmd]
- mcpackageconfig unset loadcmd
- lappend res [mcpackageconfig isset loadcmd]
- } -result {0 0 1 0}
-
- # option mcfolder is already tested with 5.11
-
- # Tests msgcat-14.*: callbacks: loadcmd, changecmd, unknowncmd
-
- # This routine is used as bgerror and by direct callback invocation
- proc callbackproc args {
- variable resultvariable
- set resultvariable $args
- }
- proc callbackfailproc args {
- return -code error fail
- }
- set bgerrorsaved [interp bgerror {}]
- interp bgerror {} [namespace code callbackproc]
-
- variable locale
- if {![info exist locale]} { set locale [mclocale] }
-
- test msgcat-14.1 {invocation loadcmd} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- mcloadedlocales clear
- set resultvariable ""
- } -cleanup {
- mcforgetpackage
- } -body {
- mcpackageconfig set loadcmd [namespace code callbackproc]
- mclocale foo_bar
- lsort $resultvariable
- } -result {foo foo_bar}
-
- test msgcat-14.2 {invocation failed in loadcmd} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- mcloadedlocales clear
- } -cleanup {
- mcforgetpackage
- after cancel set [namespace current]::resultvariable timeout
- } -body {
- mcpackageconfig set loadcmd [namespace code callbackfailproc]
- mclocale foo_bar
- # let the bgerror run
- after 100 set [namespace current]::resultvariable timeout
- vwait [namespace current]::resultvariable
- lassign $resultvariable err errdict
- list $err [dict get $errdict -code]
- } -result {fail 1}
-
- test msgcat-14.3 {invocation changecmd} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- set resultvariable ""
- } -cleanup {
- mcforgetpackage
- } -body {
- mcpackageconfig set changecmd [namespace code callbackproc]
- mclocale foo_bar
- set resultvariable
- } -result {foo_bar foo {}}
-
- test msgcat-14.4 {invocation unknowncmd} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- mcloadedlocales clear
- set resultvariable ""
- } -cleanup {
- mcforgetpackage
- } -body {
- mcpackageconfig set unknowncmd [namespace code callbackproc]
- mclocale foo_bar
- mc k1 p1
- set resultvariable
- } -result {foo_bar k1 p1}
-
- test msgcat-14.5 {disable global unknowncmd} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- mcloadedlocales clear
- set resultvariable ""
- rename ::msgcat::mcunknown SavedMcunknown
- proc ::msgcat::mcunknown {dom s} {
- return unknown:$dom:$s
- }
- } -cleanup {
- mcforgetpackage
- rename ::msgcat::mcunknown {}
- rename SavedMcunknown ::msgcat::mcunknown
- } -body {
- mcpackageconfig set unknowncmd ""
- mclocale foo_bar
- mc k1%s p1
- } -result {k1p1}
-
- test msgcat-14.6 {unknowncmd failing} -setup {
- mcforgetpackage
- mclocale $locale
- mclocale ""
- mcloadedlocales clear
- set resultvariable ""
- } -cleanup {
- mcforgetpackage
- } -body {
- mcpackageconfig set unknowncmd [namespace code callbackfailproc]
- mclocale foo_bar
- mc k1
- } -returnCodes 1\
- -result {fail}
-
-
- # Tests msgcat-15.*: tcloo coverage
-
- # There are 4 use-cases, where 3 must be tested now:
- # - namespace defined, in class definition, class defined oo, classless
-
- test msgcat-15.1 {mc in class setup} -setup {
- # full namespace is ::msgcat::test:bar
- namespace eval bar {
- ::msgcat::mcset foo_BAR con2 con2bar
- oo::class create ClassCur
- }
- variable locale [mclocale]
- mclocale foo_BAR
- } -cleanup {
- mclocale $locale
- namespace eval bar {::msgcat::mcforgetpackage}
- namespace delete bar
- } -body {
- oo::define bar::ClassCur msgcat::mc con2
- } -result con2bar
-
- test msgcat-15.2 {mc in class} -setup {
- # full namespace is ::msgcat::test:bar
- namespace eval bar {
- ::msgcat::mcset foo_BAR con2 con2bar
- oo::class create ClassCur
- oo::define ClassCur method method1 {} {::msgcat::mc con2}
- }
- # full namespace is ::msgcat::test:baz
- namespace eval baz {
- set ObjCur [::msgcat::test::bar::ClassCur new]
- }
- variable locale [mclocale]
- mclocale foo_BAR
- } -cleanup {
- mclocale $locale
- namespace eval bar {::msgcat::mcforgetpackage}
- namespace delete bar baz
- } -body {
- $baz::ObjCur method1
- } -result con2bar
-
- test msgcat-15.3 {mc in classless object} -setup {
- # full namespace is ::msgcat::test:bar
- namespace eval bar {
- ::msgcat::mcset foo_BAR con2 con2bar
- oo::object create ObjCur
- oo::objdefine ObjCur method method1 {} {::msgcat::mc con2}
- }
- variable locale [mclocale]
- mclocale foo_BAR
- } -cleanup {
- mclocale $locale
- namespace eval bar {::msgcat::mcforgetpackage}
- namespace delete bar
- } -body {
- bar::ObjCur method1
- } -result con2bar
-
- test msgcat-15.4 {mc in classless object with explicite namespace eval}\
- -setup {
- # full namespace is ::msgcat::test:bar
- namespace eval bar {
- ::msgcat::mcset foo_BAR con2 con2bar
- oo::object create ObjCur
- oo::objdefine ObjCur method method1 {} {
- namespace eval ::msgcat::test::baz {
- ::msgcat::mc con2
- }
- }
- }
- namespace eval baz {
- ::msgcat::mcset foo_BAR con2 con2baz
- }
- variable locale [mclocale]
- mclocale foo_BAR
- } -cleanup {
- mclocale $locale
- namespace eval bar {::msgcat::mcforgetpackage}
- namespace eval baz {::msgcat::mcforgetpackage}
- namespace delete bar baz
- } -body {
- bar::ObjCur method1
- } -result con2baz
-
- # Test msgcat-16.*: command mcpackagenamespaceget
-
- test msgcat-16.1 {mcpackagenamespaceget in namespace procedure} -body {
- namespace eval baz {msgcat::mcpackagenamespaceget}
- } -result ::msgcat::test::baz
-
- test msgcat-16.2 {mcpackagenamespaceget in class setup} -setup {
- namespace eval bar {
- oo::class create ClassCur
- oo::define ClassCur variable a
- }
- } -cleanup {
- namespace delete bar
- } -body {
- oo::define bar::ClassCur msgcat::mcpackagenamespaceget
- } -result ::msgcat::test::bar
-
- test msgcat-16.3 {mcpackagenamespaceget in class} -setup {
- namespace eval bar {
- oo::class create ClassCur
- oo::define ClassCur method method1 {} {msgcat::mcpackagenamespaceget}
- }
- namespace eval baz {
- set ObjCur [::msgcat::test::bar::ClassCur new]
- }
- } -cleanup {
- namespace delete bar baz
- } -body {
- $baz::ObjCur method1
- } -result ::msgcat::test::bar
-
- test msgcat-16.4 {mcpackagenamespaceget in classless object} -setup {
- namespace eval bar {
- oo::object create ObjCur
- oo::objdefine ObjCur method method1 {} {msgcat::mcpackagenamespaceget}
- }
- } -cleanup {
- namespace delete bar
- } -body {
- bar::ObjCur method1
- } -result ::msgcat::test::bar
-
- test msgcat-16.5\
- {mcpackagenamespaceget in classless object with explicite namespace eval}\
- -setup {
- namespace eval bar {
- oo::object create ObjCur
- oo::objdefine ObjCur method method1 {} {
- namespace eval ::msgcat::test::baz {
- msgcat::mcpackagenamespaceget
- }
- }
- }
- } -cleanup {
- namespace delete bar baz
- } -body {
- bar::ObjCur method1
- } -result ::msgcat::test::baz
-
-
- # Test msgcat-17.*: mcn command
-
- test msgcat-17.1 {mcn no parameters} -body {
- mcn
- } -returnCodes 1\
- -result {wrong # args: should be "mcn ns src ?arg ...?"}
-
- test msgcat-17.2 {mcn} -setup {
- namespace eval bar {::msgcat::mcset foo_BAR con1 con1bar}
- variable locale [mclocale]
- mclocale foo_BAR
- } -cleanup {
- mclocale $locale
- } -body {
- ::msgcat::mcn [namespace current]::bar con1
- } -result con1bar
-
-
- interp bgerror {} $bgerrorsaved
-
- # Tests msgcat-18.*: [mcutil]
-
- test msgcat-18.1 {mcutil - no argument} -body {
- mcutil
- } -returnCodes 1\
- -result {wrong # args: should be "mcutil subcommand ?arg ...?"}
-
- test msgcat-18.2 {mcutil - wrong argument} -body {
- mcutil junk
- } -returnCodes 1\
- -result {unknown subcommand "junk": must be getpreferences, or getsystemlocale}
-
- test msgcat-18.3 {mcutil - partial argument} -body {
- mcutil getsystem
- } -returnCodes 1\
- -result {unknown subcommand "getsystem": must be getpreferences, or getsystemlocale}
-
- test msgcat-18.4 {mcutil getpreferences - no argument} -body {
- mcutil getpreferences
- } -returnCodes 1\
- -result {wrong # args: should be "mcutil getpreferences locale"}
-
- test msgcat-18.5 {mcutil getpreferences - DE_de} -body {
- mcutil getpreferences DE_de
- } -result {de_de de {}}
-
- test msgcat-18.6 {mcutil getsystemlocale - wrong argument} -body {
- mcutil getsystemlocale DE_de
- } -returnCodes 1\
- -result {wrong # args: should be "mcutil getsystemlocale"}
-
- # The result is system dependent
- # So just test if it runs
- # The environment variable version was test with test 0.x
- test msgcat-18.7 {mcutil getsystemlocale} -body {
- mcutil getsystemlocale
- set ok ok
- } -result {ok}
-
-
cleanupTests
}
namespace delete ::msgcat::test
return
-# Local Variables:
-# mode: tcl
-# End: