summaryrefslogtreecommitdiffstats
path: root/tests/msgcat.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/msgcat.test')
-rw-r--r--tests/msgcat.test318
1 files changed, 0 insertions, 318 deletions
diff --git a/tests/msgcat.test b/tests/msgcat.test
deleted file mode 100644
index b9410e2..0000000
--- a/tests/msgcat.test
+++ /dev/null
@@ -1,318 +0,0 @@
-# Commands covered: ::msgcat::mc ::msgcat::mclocale
-# ::msgcat::mcpreferences ::msgcat::mcload
-# ::msgcat::mcset ::msgcat::mcunknown
-#
-# This file contains a collection of tests for the msgcat script library.
-# Sourcing this file into Tcl runs the tests and
-# generates output for errors. No output means no errors were found.
-#
-# Copyright (c) 1998 Mark Harrison.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-# RCS: @(#) $Id: msgcat.test,v 1.2 1999/04/16 00:47:31 stanton Exp $
-
-if {[lsearch [namespace children] ::tcltest] == -1} {
- source [file join [pwd] [file dirname [info script]] defs.tcl]
-}
-
-if {[catch {package require msgcat 1.0}]} {
- if {[info exist msgcat1]} {
- catch {puts "Cannot load msgcat 1.0 package"}
- return
- } else {
- catch {puts "Running msgcat 1.0 tests in slave interp"}
- set interp [interp create msgcat1]
- $interp eval [list set msgcat1 "running"]
- $interp eval [list source [info script]]
- interp delete $interp
- return
- }
-}
-
-set oldlocale [::msgcat::mclocale]
-
-#
-# Test the various permutations of mclocale
-# and mcpreferences.
-#
-
-test msgcat-1.1 {::msgcat::mclocale default} {
- ::msgcat::mclocale
-} {c}
-test msgcat-1.2 {::msgcat::mcpreferences, single element} {
- ::msgcat::mcpreferences
-} {c}
-test msgcat-1.3 {::msgcat::mclocale, single element} {
- ::msgcat::mclocale en
-} {en}
-test msgcat-1.4 {::msgcat::mclocale, single element} {
- ::msgcat::mclocale
-} {en}
-test msgcat-1.5 {::msgcat::mcpreferences, single element} {
- ::msgcat::mcpreferences
-} {en}
-test msgcat-1.6 {::msgcat::mclocale, two elements} {
- ::msgcat::mclocale en_US
-} {en_us}
-test msgcat-1.7 {::msgcat::mclocale, two elements} {
- ::msgcat::mclocale en_US
- ::msgcat::mclocale
-} {en_us}
-test msgcat-1.8 {::msgcat::mcpreferences, two elements} {
- ::msgcat::mcpreferences
-} {en_us en}
-test msgcat-1.9 {::msgcat::mclocale, three elements} {
- ::msgcat::mclocale en_US_funky
-} {en_us_funky}
-test msgcat-1.10 {::msgcat::mclocale, three elements} {
- ::msgcat::mclocale
-} {en_us_funky}
-test msgcat-1.11 {::msgcat::mcpreferences, three elements} {
- ::msgcat::mcpreferences
-} {en_us_funky en_us en}
-
-#
-# Test mcset and mcc, ensuring that namespace partitioning
-# is working.
-#
-
-test msgcat-2.1 {::msgcat::mcset, global scope} {
- ::msgcat::mcset foo_BAR text1 text2
-} {text2}
-test msgcat-2.2 {::msgcat::mcset, global scope, default} {
- ::msgcat::mcset foo_BAR text3
-} {text3}
-test msgcat-2.2 {::msgcat::mcset, namespace overlap} {
- namespace eval bar {::msgcat::mcset foo_BAR con1 con1bar}
- namespace eval baz {::msgcat::mcset foo_BAR con1 con1baz}
-} {con1baz}
-test msgcat-2.3 {::msgcat::mcset, namespace overlap} {
- ::msgcat::mclocale foo_BAR
- namespace eval bar {::msgcat::mc con1}
-} {con1bar}
-test msgcat-2.4 {::msgcat::mcset, namespace overlap} {
- ::msgcat::mclocale foo_BAR
- namespace eval baz {::msgcat::mc con1}
-} {con1baz}
-
-#
-# Test mcset and mc, ensuring that more specific locales
-# (e.g. "en_UK") will search less specific locales
-# (e.g. "en") for translation strings.
-#
-# Do this for the 12 permutations of
-# locales: {foo foo_BAR foo_BAR_baz}
-# strings: {ov1 ov2 ov3 ov4}
-# locale foo defines ov1, ov2, ov3
-# locale foo_BAR defines ov2, ov3
-# locale foo_BAR_BAZ defines ov3
-# (ov4 is defined in none)
-# So,
-# ov3 should be resolved in foo, foo_BAR, foo_BAR_baz
-# ov2 should be resolved in foo, foo_BAR
-# ov2 should resolve to foo_BAR in foo_BAR_baz
-# ov1 should be resolved in foo
-# ov1 should resolve to foo in foo_BAR, foo_BAR_baz
-# ov4 should be resolved in none, and call mcunknown
-#
-
-test msgcat-3.1 {::msgcat::mcset, overlap} {
- ::msgcat::mcset foo ov1 ov1_foo
- ::msgcat::mcset foo ov2 ov2_foo
- ::msgcat::mcset foo ov3 ov3_foo
- ::msgcat::mcset foo_BAR ov2 ov2_foo_BAR
- ::msgcat::mcset foo_BAR ov3 ov3_foo_BAR
- ::msgcat::mcset foo_BAR_baz ov3 ov3_foo_BAR_baz
-} {ov3_foo_BAR_baz}
-# top level, locale foo
-test msgcat-3.2 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo
- ::msgcat::mc ov1
-} {ov1_foo}
-test msgcat-3.3 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo
- ::msgcat::mc ov2
-} {ov2_foo}
-test msgcat-3.4 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo
- ::msgcat::mc ov3
-} {ov3_foo}
-test msgcat-3.5 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo
- ::msgcat::mc ov4
-} {ov4}
-# second level, locale foo_BAR
-test msgcat-3.6 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR
- ::msgcat::mc ov1
-} {ov1_foo}
-test msgcat-3.7 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR
- ::msgcat::mc ov2
-} {ov2_foo_BAR}
-test msgcat-3.8 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR
- ::msgcat::mc ov3
-} {ov3_foo_BAR}
-test msgcat-3.9 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR
- ::msgcat::mc ov4
-} {ov4}
-# third level, locale foo_BAR_baz
-test msgcat-3.10 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR_baz
- ::msgcat::mc ov1
-} {ov1_foo}
-test msgcat-3.11 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR_baz
- ::msgcat::mc ov2
-} {ov2_foo_BAR}
-test msgcat-3.12 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR_baz
- ::msgcat::mc ov3
-} {ov3_foo_BAR_baz}
-test msgcat-3.13 {::msgcat::mcset, overlap} {
- ::msgcat::mclocale foo_BAR_baz
- ::msgcat::mc ov4
-} {ov4}
-
-#
-# Test mcunknown, first the default operation
-# and then with an overridden definition.
-#
-
-test msgcat-4.1 {::msgcat::mcunknown, default} {
- ::msgcat::mcset foo unk1 "unknown 1"
-} {unknown 1}
-test msgcat-4.2 {::msgcat::mcunknown, default} {
- ::msgcat::mclocale foo
- ::msgcat::mc unk1
-} {unknown 1}
-test msgcat-4.3 {::msgcat::mcunknown, default} {
- ::msgcat::mclocale foo
- ::msgcat::mc unk2
-} {unk2}
-test msgcat-4.4 {::msgcat::mcunknown, overridden} {
- rename ::msgcat::mcunknown oldproc
- proc ::msgcat::mcunknown {dom s} {
- return "unknown:$dom:$s"
- }
- ::msgcat::mclocale foo
- set result [::msgcat::mc unk1]
- rename ::msgcat::mcunknown {}
- rename oldproc ::msgcat::mcunknown
- set result
-} {unknown 1}
-test msgcat-4.5 {::msgcat::mcunknown, overridden} {
- rename ::msgcat::mcunknown oldproc
- proc ::msgcat::mcunknown {dom s} {
- return "unknown:$dom:$s"
- }
- ::msgcat::mclocale foo
- set result [::msgcat::mc unk2]
- rename ::msgcat::mcunknown {}
- rename oldproc ::msgcat::mcunknown
- set result
-} {unknown:foo:unk2}
-test msgcat-4.6 {::msgcat::mcunknown, uplevel context} {
- rename ::msgcat::mcunknown oldproc
- proc ::msgcat::mcunknown {dom s} {
- return "unknown:$dom:$s:[info level]"
- }
- ::msgcat::mclocale foo
- set result [::msgcat::mc unk2]
- rename ::msgcat::mcunknown {}
- rename oldproc ::msgcat::mcunknown
- set result
-} {unknown:foo:unk2:1}
-
-
-#
-# Test mcload. Need to set up an environment for
-# these tests by creating a temporary directory and
-# message files.
-#
-
-set locales {en en_US en_US_funky}
-
-catch {file mkdir msgdir}
-foreach l $locales {
- set fd [open [string tolower [file join msgdir $l.msg]] w]
- puts $fd "::msgcat::mcset $l abc abc-$l"
- close $fd
-}
-
-test msgcat-5.1 {::msgcat::mcload} {
- ::msgcat::mclocale en
- ::msgcat::mcload msgdir
-} {1}
-test msgcat-5.2 {::msgcat::mcload} {
- ::msgcat::mclocale en_US
- ::msgcat::mcload msgdir
-} {2}
-test msgcat-5.3 {::msgcat::mcload} {
- ::msgcat::mclocale en_US_funky
- ::msgcat::mcload msgdir
-} {3}
-
-# Even though en_US_notexist does not exist,
-# en_US and en should be loaded.
-
-test msgcat-5.4 {::msgcat::mcload} {
- ::msgcat::mclocale en_US_notexist
- ::msgcat::mcload msgdir
-} {2}
-test msgcat-5.5 {::msgcat::mcload} {
- ::msgcat::mclocale no_FI_notexist
- ::msgcat::mcload msgdir
-} {0}
-test msgcat-5.6 {::msgcat::mcload} {
- ::msgcat::mclocale en
- ::msgcat::mc abc
-} {abc-en}
-test msgcat-5.7 {::msgcat::mcload} {
- ::msgcat::mclocale en_US
- ::msgcat::mc abc
-} {abc-en_US}
-test msgcat-5.8 {::msgcat::mcload} {
- ::msgcat::mclocale en_US_funky
- ::msgcat::mc abc
-} {abc-en_US_funky}
-test msgcat-5.9 {::msgcat::mcload} {
- rename ::msgcat::mcunknown oldproc
- proc ::msgcat::mcunknown {dom s} {
- return "unknown:$dom:$s"
- }
- ::msgcat::mclocale no_FI_notexist
- set result [::msgcat::mc abc]
- rename ::msgcat::mcunknown {}
- rename oldproc ::msgcat::mcunknown
- set result
-} {unknown:no_fi_notexist:abc}
-
-# cleanup
-foreach l $locales {
- file delete [string tolower [file join msgdir $l.msg]]
-}
-
-# Clean out the msg catalogs
-::msgcat::mclocale $oldlocale
-file delete msgdir
-
-::tcltest::cleanupTests
-return
-
-
-
-
-
-
-
-
-
-
-
-