Author: koutou
Date: Sun Mar 22 03:00:21 2009
New Revision: 5924

Added:
   trunk/test/i18n/
   trunk/test/i18n/test-base.scm
      - copied, changed from r5923, /trunk/test/test-i18n.scm
   trunk/test/i18n/test-language.scm
      - copied, changed from r5923, /trunk/test/test-i18n.scm
Removed:
   trunk/test/test-i18n.scm

Log:
* test/test-i18n.scm: split tests in ...
* test/i18n/test-base.scm, test/i18n/test-language.scm: ... them.


Copied: trunk/test/i18n/test-base.scm (from r5923, /trunk/test/test-i18n.scm)
==============================================================================
--- /trunk/test/test-i18n.scm   (original)
+++ trunk/test/i18n/test-base.scm       Sun Mar 22 03:00:21 2009
@@ -27,10 +27,10 @@
 ;;; SUCH DAMAGE.
 ;;;;

-(define-module test.test-i18n
+(define-module test.i18n.test-base
   (use test.unit.test-case)
   (use test.uim-test))
-(select-module test.test-i18n)
+(select-module test.i18n.test-base)

 (define (setup)
   (uim-test-setup))
@@ -333,33 +333,4 @@
   (assert-uim-false '(langgroup-covers? "zh_CN:zh_TW:zh_HK" "zh"))
   #f)

-;; (define-uim-test-case "testcase i18n ISO 639-1 language code #1"
-;;   (setup
-;;    (lambda ()
-;;      (sys-putenv "LC_ALL" "C")))
-
-(define (test-lang-code->lang-name-in-en-locale)
-  (assert-uim-equal "Japanese"
-                    '(lang-code->lang-name "ja"))
-  (assert-uim-equal "English"
-                    '(lang-code->lang-name "en"))
-  (assert-uim-equal "Chinese"
-                    '(lang-code->lang-name "zh"))
-  #f)
-
-;(define-uim-test-case "testcase i18n ISO 639-1 language code #2"
-;  (setup
-;   (lambda ()
-;     (sys-putenv "LC_ALL" "ja_JP")))
-;
-;  ("test lang-code->lang-name in ja_JP locale"
-;   (uim '(bind_textdomain_codeset "uim" "UTF-8"))
-;   (assert-uim-equal "日本語"
-;                   '(lang-code->lang-name "ja"))
-;   (assert-uim-equal "英語"
-;                   '(lang-code->lang-name "en"))
-;   (assert-uim-equal "中国語"
-;                   '(lang-code->lang-name "zh"))))
-
-
-(provide "test/test-i18n")
+(provide "test/i18n/test-base")

Copied: trunk/test/i18n/test-language.scm (from r5923, /trunk/test/test-i18n.scm)
==============================================================================
--- /trunk/test/test-i18n.scm   (original)
+++ trunk/test/i18n/test-language.scm   Sun Mar 22 03:00:21 2009
@@ -1,3 +1,5 @@
+;;; -*- coding: utf-8 -*-
+;;;
 ;;; Copyright (c) 2003-2009 uim Project http://code.google.com/p/uim/
 ;;;
 ;;; All rights reserved.
@@ -27,339 +29,36 @@
 ;;; SUCH DAMAGE.
 ;;;;

-(define-module test.test-i18n
+(define-module test.i18n.language
   (use test.unit.test-case)
   (use test.uim-test))
-(select-module test.test-i18n)
-
-(define (setup)
-  (uim-test-setup))
+(select-module test.i18n.language)

 (define (teardown)
   (uim-test-teardown))

-(define (test-locale-new)
-  ;; full format
-  (assert-uim-equal '("ja" "JP" "EUC-JP")
-                    '(locale-new "ja_JP.EUC-JP"))
-  ;; codeset can be omitted
-  (assert-uim-equal '("ja" "JP" "")
-                    '(locale-new "ja_JP"))
-  ;; territory can also be omitted
-  (assert-uim-equal '("ja" "" "")
-                    '(locale-new "ja"))
-  ;; codeset without territory is a valid format
-  (assert-uim-equal '("ja" "" "EUC-JP")
-                    '(locale-new "ja.EUC-JP"))
-  ;; #f, "C" and "POSIX" is interpreted as "en" locale
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new #f))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new "C"))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new "POSIX"))
-  ;; invalid locale strings are rejected
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "d_DE"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "deu_DE"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "de_de_DE"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "de_D"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "de_DEU"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "de_de_DEU"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "_DE"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "_DE."))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "_DE.UTF-8"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "de_.UTF-8"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new "_.UTF-8"))
-  (assert-uim-equal '("" "" "")
-                    '(locale-new ".UTF-8"))
-  #f)
-
-;; empty locale is instructs to use the locale of native environment
-(define (test-locale-new-native-environment)
-  ;; it fallbacks to "en" if neither LC_ALL nor LANG defined
-  (uim-eval '(unsetenv  "LC_ALL"))
-  (uim-eval '(unsetenv  "LANG"))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new ""))
-  ;; it looks both LC_ALL and LANG
-  (uim-eval '(setenv  "LC_ALL" "ja_JP.EUC-JP" #t))
-  (uim-eval '(unsetenv  "LANG"))
-  (assert-uim-equal '("ja" "JP" "EUC-JP")
-                    '(locale-new ""))
-  (uim-eval '(unsetenv  "LC_ALL"))
-  (uim-eval '(setenv  "LANG" "ja_JP.EUC-JP" #t))
-  (assert-uim-equal '("ja" "JP" "EUC-JP")
-                    '(locale-new ""))
-  ;; LC_ALL precedes LANG
-  (uim-eval '(setenv  "LC_ALL" "de_DE.UTF-8" #t))
-  (uim-eval '(setenv  "LANG" "ja_JP.EUC-JP" #t))
-  (assert-uim-equal '("de" "DE" "UTF-8")
-                    '(locale-new ""))
-  ;; special locale name from the variables
-  (uim-eval '(setenv  "LC_ALL" "C" #t))
-  (uim-eval '(unsetenv  "LANG"))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new ""))
-  (uim-eval '(setenv  "LC_ALL" "POSIX" #t))
-  (uim-eval '(unsetenv  "LANG"))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new ""))
-  (uim-eval '(unsetenv  "LC_ALL"))
-  (uim-eval '(setenv  "LANG" "C" #t))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new ""))
-  (uim-eval '(unsetenv  "LC_ALL"))
-  (uim-eval '(setenv  "LANG" "POSIX" #t))
-  (assert-uim-equal '("en" "" "")
-                    '(locale-new ""))
-  #f)
-
-(define (test-locale-set-lang!)
-  (assert-uim-equal ""
-                    '(locale-set-lang! (locale-new "en") ""))
-  ;; valid langs
-  (assert-uim-equal "ja"
-                    '(locale-set-lang! (locale-new "") "ja"))
-  (assert-uim-equal "zh"
-                    '(locale-set-lang! (locale-new "") "zh"))
-  (assert-uim-equal "de"
-                    '(locale-set-lang! (locale-new "") "de"))
-  ;; locale-set-lang! only accepts two-letter language codes
-  (assert-uim-equal ""
-                    '(locale-set-lang! (locale-new "") "jpn"))
-  (assert-uim-equal ""
-                    '(locale-set-lang! (locale-new "") "zh_CN"))
-  (assert-uim-equal ""
-                    '(locale-set-lang! (locale-new "") "d"))
-  #f)
-
-(define (test-locale-set-territory!)
-  (assert-uim-equal ""
-                    '(locale-set-territory! (locale-new "en") ""))
-  ;; valid territories
-  (assert-uim-equal "JP"
-                    '(locale-set-territory! (locale-new "") "JP"))
-  (assert-uim-equal "CN"
-                    '(locale-set-territory! (locale-new "") "CN"))
-  (assert-uim-equal "DE"
-                    '(locale-set-territory! (locale-new "") "DE"))
-  ;; locale-set-territory! only accepts two-letter country codes
-  (assert-uim-equal ""
-                    '(locale-set-territory! (locale-new "") "Japan"))
-  (assert-uim-equal ""
-                    '(locale-set-territory! (locale-new "") "zh_CN"))
-  (assert-uim-equal ""
-                    '(locale-set-territory! (locale-new "") "ger"))
-  #f)
-
-(define (test-locale-lang-territory-str)
-  (assert-uim-equal ""
- '(locale-lang-territory-str (locale-new "invalid_IN.")))
-  (assert-uim-equal "ja_JP"
- '(locale-lang-territory-str (locale-new "ja_JP.EUC-JP")))
-  (assert-uim-equal "ja_JP"
-                    '(locale-lang-territory-str (locale-new "ja_JP")))
-  (assert-uim-equal "ja"
-                    '(locale-lang-territory-str (locale-new "ja")))
-  (assert-uim-equal "ja"
-                    '(locale-lang-territory-str (locale-new "ja.EUC-JP")))
-  (assert-uim-equal "zh_CN"
- '(locale-lang-territory-str (locale-new "zh_CN.UTF-8")))
-  (assert-uim-equal "zh_CN"
-                    '(locale-lang-territory-str (locale-new "zh_CN")))
-  (assert-uim-equal "zh"
-                    '(locale-lang-territory-str (locale-new "zh")))
-  (assert-uim-equal "zh"
-                    '(locale-lang-territory-str (locale-new "zh.UTF-8")))
-  #f)
-
-(define (test-locale-str)
-  (assert-uim-equal ""
-                    '(locale-str (locale-new "invalid_IN.")))
-  (assert-uim-equal "ja_JP.EUC-JP"
-                    '(locale-str (locale-new "ja_JP.EUC-JP")))
-  (assert-uim-equal "ja_JP"
-                    '(locale-str (locale-new "ja_JP")))
-  (assert-uim-equal "ja"
-                    '(locale-str (locale-new "ja")))
-  (assert-uim-equal "ja.EUC-JP"
-                    '(locale-str (locale-new "ja.EUC-JP")))
-  (assert-uim-equal "zh_CN.UTF-8"
-                    '(locale-str (locale-new "zh_CN.UTF-8")))
-  (assert-uim-equal "zh_CN"
-                    '(locale-str (locale-new "zh_CN")))
-  (assert-uim-equal "zh"
-                    '(locale-str (locale-new "zh")))
-  (assert-uim-equal "zh.UTF-8"
-                    '(locale-str (locale-new "zh.UTF-8")))
-  #f)
-
-(define (test-locale-zh-awared-lang)
-  (assert-uim-equal ""
-                    '(locale-zh-awared-lang (locale-new "invalid_IN.")))
-  (assert-uim-equal "ja"
-                    '(locale-zh-awared-lang (locale-new "ja_JP.EUC-JP")))
-  (assert-uim-equal "ja"
-                    '(locale-zh-awared-lang (locale-new "ja_JP")))
-  (assert-uim-equal "ja"
-                    '(locale-zh-awared-lang (locale-new "ja")))
-  (assert-uim-equal "ja"
-                    '(locale-zh-awared-lang (locale-new "ja.EUC-JP")))
-  (assert-uim-equal "en"
-                    '(locale-zh-awared-lang (locale-new "en_US.UTF-8")))
-  (assert-uim-equal "en"
-                    '(locale-zh-awared-lang (locale-new "en_US")))
-  (assert-uim-equal "en"
-                    '(locale-zh-awared-lang (locale-new "en")))
-  (assert-uim-equal "en"
-                    '(locale-zh-awared-lang (locale-new "en.UTF-8")))
-  ;; returns "zh_XX" form if lang part is "zh"
-  (assert-uim-equal "zh_CN"
-                    '(locale-zh-awared-lang (locale-new "zh_CN.UTF-8")))
-  (assert-uim-equal "zh_CN"
-                    '(locale-zh-awared-lang (locale-new "zh_CN")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh.UTF-8")))
-  (assert-uim-equal "zh_TW"
-                    '(locale-zh-awared-lang (locale-new "zh_TW.UTF-8")))
-  (assert-uim-equal "zh_TW"
-                    '(locale-zh-awared-lang (locale-new "zh_TW")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh.UTF-8")))
-  (assert-uim-equal "zh_HK"
-                    '(locale-zh-awared-lang (locale-new "zh_HK.UTF-8")))
-  (assert-uim-equal "zh_HK"
-                    '(locale-zh-awared-lang (locale-new "zh_HK")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh")))
-  (assert-uim-equal "zh"
-                    '(locale-zh-awared-lang (locale-new "zh.UTF-8")))
-  #f)
-
-(define (test-langgroup-covers?)
-  ;; exact match
-  (assert-uim-equal '("ja")
-                    '(langgroup-covers? "ja" "ja"))
-  (assert-uim-equal '("en")
-                    '(langgroup-covers? "en" "en"))
-  (assert-uim-equal '("de")
-                    '(langgroup-covers? "de" "de"))
-  (assert-uim-equal '("fr")
-                    '(langgroup-covers? "fr" "fr"))
-  (assert-uim-equal '("zh")
-                    '(langgroup-covers? "zh" "zh"))
-  (assert-uim-equal '("zh_CN")
-                    '(langgroup-covers? "zh_CN" "zh_CN"))
-  (assert-uim-equal '("zh_TW")
-                    '(langgroup-covers? "zh_TW" "zh_TW"))
-  (assert-uim-equal '("zh_HK")
-                    '(langgroup-covers? "zh_HK" "zh_HK"))
-  (assert-uim-false '(langgroup-covers? "de" "ja"))
-  (assert-uim-false '(langgroup-covers? "de" "en"))
-  (assert-uim-false '(langgroup-covers? "de" "fr"))
-  (assert-uim-false '(langgroup-covers? "de" "zh"))
-  (assert-uim-false '(langgroup-covers? "de" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "de" "zh_TW"))
-  (assert-uim-false '(langgroup-covers? "de" "zh_HK"))
-  ;; group match
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "ja"))
-  (assert-uim-equal '("en" "fr")
-                    '(langgroup-covers? "de:en:fr" "en"))
-  (assert-uim-equal '("de" "en" "fr")
-                    '(langgroup-covers? "de:en:fr" "de"))
-  (assert-uim-equal '("fr")
-                    '(langgroup-covers? "de:en:fr" "fr"))
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "zh"))
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "zh_TW"))
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "zh_HK"))
-  ;; group expression is only allowed for first arg
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "de:en"))
-  (assert-uim-false '(langgroup-covers? "de:en:fr" "de:en:fr"))
-  ;; wildcard
-  (assert-uim-true  '(langgroup-covers? "*" "ja"))
-  (assert-uim-true  '(langgroup-covers? "*" "en"))
-  (assert-uim-true  '(langgroup-covers? "*" "de"))
-  (assert-uim-true  '(langgroup-covers? "*" "fr"))
-  (assert-uim-true  '(langgroup-covers? "*" "zh"))
-  (assert-uim-true  '(langgroup-covers? "*" "zh_CN"))
-  (assert-uim-true  '(langgroup-covers? "*" "zh_TW"))
-  (assert-uim-true  '(langgroup-covers? "*" "zh_HK"))
-  ;; wildcard is only allowed for first arg
-  (assert-uim-false '(langgroup-covers? "en" "*"))
-  ;; 'nothing'
-  (assert-uim-false '(langgroup-covers? "" "ja"))
-  (assert-uim-false '(langgroup-covers? "" "en"))
-  (assert-uim-false '(langgroup-covers? "" "de"))
-  (assert-uim-false '(langgroup-covers? "" "fr"))
-  (assert-uim-false '(langgroup-covers? "" "zh"))
-  (assert-uim-false '(langgroup-covers? "" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "" "zh_TW"))
-  (assert-uim-false '(langgroup-covers? "" "zh_HK"))
-  (assert-uim-false '(langgroup-covers? "" "*"))
-  (assert-uim-false '(langgroup-covers? "" ""))
-  ;; no special handling for Chinese
-  (assert-uim-false '(langgroup-covers? "zh" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "zh" "zh_TW"))
-  (assert-uim-false '(langgroup-covers? "zh" "zh_HK"))
-  (assert-uim-false '(langgroup-covers? "zh_CN" "zh"))
-  (assert-uim-false '(langgroup-covers? "zh_TW" "zh"))
-  (assert-uim-false '(langgroup-covers? "zh_HK" "zh"))
-  (assert-uim-false '(langgroup-covers? "zh_CN" "zh_TW"))
-  (assert-uim-false '(langgroup-covers? "zh_CN" "zh_HK"))
-  (assert-uim-false '(langgroup-covers? "zh_HK" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "zh_HK" "zh_TW"))
-  (assert-uim-equal '("zh_TW" "zh_HK")
-                    '(langgroup-covers? "zh_TW:zh_HK" "zh_TW"))
-  (assert-uim-equal '("zh_HK")
-                    '(langgroup-covers? "zh_TW:zh_HK" "zh_HK"))
-  (assert-uim-false '(langgroup-covers? "zh_TW:zh_HK" "zh_CN"))
-  (assert-uim-false '(langgroup-covers? "zh_TW:zh_HK" "zh"))
-  (assert-uim-false '(langgroup-covers? "zh_CN:zh_TW:zh_HK" "zh"))
-  #f)
-
-;; (define-uim-test-case "testcase i18n ISO 639-1 language code #1"
-;;   (setup
-;;    (lambda ()
-;;      (sys-putenv "LC_ALL" "C")))
-
 (define (test-lang-code->lang-name-in-en-locale)
+  (uim-test-with-environment-variables
+   '(("LC_ALL" . "C"))
+   uim-test-setup)
   (assert-uim-equal "Japanese"
-                    '(lang-code->lang-name "ja"))
+                    '(_ (lang-code->lang-name "ja")))
   (assert-uim-equal "English"
-                    '(lang-code->lang-name "en"))
+                    '(_ (lang-code->lang-name "en")))
   (assert-uim-equal "Chinese"
-                    '(lang-code->lang-name "zh"))
+                    '(_ (lang-code->lang-name "zh")))
   #f)

-;(define-uim-test-case "testcase i18n ISO 639-1 language code #2"
-;  (setup
-;   (lambda ()
-;     (sys-putenv "LC_ALL" "ja_JP")))
-;
-;  ("test lang-code->lang-name in ja_JP locale"
-;   (uim '(bind_textdomain_codeset "uim" "UTF-8"))
-;   (assert-uim-equal "日本語"
-;                   '(lang-code->lang-name "ja"))
-;   (assert-uim-equal "英語"
-;                   '(lang-code->lang-name "en"))
-;   (assert-uim-equal "中国語"
-;                   '(lang-code->lang-name "zh"))))
-
+(define (test-lang-code->lang-name-in-ja_JP-locale)
+  (uim-test-with-environment-variables
+   '(("LC_ALL" . "ja_JP.UTF-8"))
+   uim-test-setup)
+  (assert-uim-equal "日本語"
+                    '(_ (lang-code->lang-name "ja")))
+  (assert-uim-equal "英語"
+                    '(_ (lang-code->lang-name "en")))
+  (assert-uim-equal "中国語"
+                    '(_ (lang-code->lang-name "zh")))
+  #f)

-(provide "test/test-i18n")
+(provide "test/i18n/test-language")

Reply via email to