summaryrefslogtreecommitdiffstats
path: root/tests/msgcat.test
diff options
context:
space:
mode:
authoroehhar <harald.oehlmann@elmicron.de>2018-01-10 23:17:43 (GMT)
committeroehhar <harald.oehlmann@elmicron.de>2018-01-10 23:17:43 (GMT)
commit3b5858bcd23542b0ff0249a128808ef20922beb6 (patch)
tree80a6011cd3e4ca43b94d8815ea05215761511ab6 /tests/msgcat.test
parent48d6a20861f95be856bef0e780c054757c9c3803 (diff)
downloadtcl-3b5858bcd23542b0ff0249a128808ef20922beb6.zip
tcl-3b5858bcd23542b0ff0249a128808ef20922beb6.tar.gz
tcl-3b5858bcd23542b0ff0249a128808ef20922beb6.tar.bz2
TIP490: oo for msgcal: new solution enable any command for oo, new command mcpackagenamespacege
Diffstat (limited to 'tests/msgcat.test')
-rw-r--r--tests/msgcat.test74
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/msgcat.test b/tests/msgcat.test
index 1c3ce58..9dc8b48 100644
--- a/tests/msgcat.test
+++ b/tests/msgcat.test
@@ -1073,6 +1073,80 @@ namespace eval ::msgcat::test {
} -returnCodes 1\
-result {fail}
+
+ # Tests msgcat-15.*: tcloo coverage
+
+ # There are 3 use-cases, where 2 must be tested now:
+ # - namespace defined, class defined oo, classless
+
+ test msgcat-15.1 {mc in class} -setup {
+ namespace eval ::bar {
+ ::msgcat::mcset foo_BAR con2 con2bar
+ oo::class create ClassCur
+ oo::define ClassCur method method1 {} {::msgcat::mc con2}
+ }
+ namespace eval ::baz {
+ set ObjCur [::bar::ClassCur new]
+ }
+ variable locale [mclocale]
+ mclocale foo_BAR
+ } -cleanup {
+ mclocale $locale
+ namespace eval ::bar {::msgcat::mcforgetpackage}
+ namespace forget ::bar ::baz
+ } -body {
+ $::baz::ObjCur method1
+ } -result con2bar
+
+ test msgcat-15.2 {mc in classless object} -setup {
+ 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 forget ::bar
+ } -body {
+ ::bar::ObjCur method1
+ } -result con2bar
+
+ # Test msgcat-16.*: command mcpackagenamespaceget
+
+ test msgcat-16.1 {mcpackagenamespaceget in namespace procedure} -body {
+ namespace eval ::baz {msgcat::mcpackagenamespaceget}
+ } -result ::baz
+
+ test msgcat-16.2 {mcpackagenamespaceget in class} -setup {
+ namespace eval ::bar {
+ oo::class create ClassCur
+ oo::define ClassCur method method1 {} {msgcat::mcpackagenamespaceget}
+ }
+ namespace eval ::baz {
+ set ObjCur [::bar::ClassCur new]
+ }
+ } -cleanup {
+ namespace forget ::bar ::baz
+ } -body {
+ $::baz::ObjCur method1
+ } -result ::bar
+
+ test msgcat-16.3 {mcpackagenamespaceget in classless object} -setup {
+ namespace eval ::bar {
+ oo::object create ObjCur
+ oo::objdefine ObjCur method method1 {} {msgcat::mcpackagenamespaceget}
+ }
+ } -cleanup {
+ namespace forget ::bar
+ } -body {
+ ::bar::ObjCur method1
+ } -result ::bar
+
+
+
interp bgerror {} $bgerrorsaved
cleanupTests