~ubuntu-branches/ubuntu/precise/uim/precise

« back to all changes in this revision

Viewing changes to test/test-im.scm

  • Committer: Package Import Robot
  • Author(s): Ilya Barygin
  • Date: 2011-12-18 16:35:38 UTC
  • mfrom: (1.1.13) (15.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20111218163538-8ktir39z2mjpii8z
Tags: 1:1.7.1-3ubuntu1
* Merge from Debian testing (LP: #818199).
* Remaining changes:
  - debian/uim-qt.install: Fix plugin path for multiarch location.
* Dropped changes:
  - uim-applet-gnome removal (GNOME 3 applet is available)
  - 19_as-needed_compile_fix.dpatch (accepted into Debian package)
* translations.patch: add several files to POTFILE.in to prevent
  intltool-update failure.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/env gosh
2
2
 
3
 
;;; Copyright (c) 2003-2009 uim Project http://code.google.com/p/uim/
 
3
;;; Copyright (c) 2003-2011 uim Project http://code.google.com/p/uim/
4
4
;;;
5
5
;;; All rights reserved.
6
6
;;;
29
29
;;; SUCH DAMAGE.
30
30
;;;;
31
31
 
32
 
;; These tests are passed at revision 5329 (new repository)
 
32
;; These tests are passed at revision 6605 (new repository)
33
33
 
34
34
(use test.unit)
35
35
 
45
45
   (assert-false (uim-bool '(preedit-attr? #f)))
46
46
   (assert-false (uim-bool '(preedit-attr? 2398)))))  ;; arbitrary integer
47
47
 
 
48
;; N.B. This test requires m17nlib enabled
48
49
(define-uim-test-case "testcase im im-management"
49
50
  (setup
50
51
   (lambda ()
53
54
             (require-module "anthy")
54
55
             (require-module "canna")
55
56
             (require-module "skk")
56
 
             (require-module "tcode")
 
57
             (require-module "latin")
57
58
             ;; Disable IMs that affect the default IM selection.
58
59
             (define test-im-disabled-im-list '(look
59
60
                                                m17n-unicode
60
61
                                                m17n-rfc1345
61
62
                                                m17n-en-ispell
 
63
                                                m17n-fr-azerty
62
64
                                                m17n-latn-pre
63
65
                                                m17n-latn-post
64
66
                                                m17n-bopo-kbd
71
73
                                                m17n-zh-py-b5
72
74
                                                m17n-zh-py-gb
73
75
                                                m17n-syrc-phonetic
 
76
                                                m17n-vi-nomtelex
 
77
                                                zm
 
78
                                                wb86
74
79
                                                ))
75
80
             (set! enabled-im-list
76
81
                   (append (lset-difference eq? enabled-im-list
281
286
   (assert-false (uim-bool '(memq 'nonexistent (map car im-list))))
282
287
   (assert-true  (uim-bool '(memq 'anthy (map car im-list))))
283
288
   (assert-true  (uim-bool '(memq 'skk (map car im-list))))
284
 
   (assert-true  (uim-bool '(memq 'tcode (map car im-list))))
 
289
   (assert-true  (uim-bool '(memq 'latin(map car im-list))))
285
290
   (assert-true  (uim-bool '(memq 'tutcode (map car im-list))))
286
291
   (assert-true  (uim-bool '(memq 'py (map car im-list))))
287
292
   (assert-true  (uim-bool '(memq 'pyunihan (map car im-list))))
288
293
   (assert-true  (uim-bool '(memq 'pinyin-big5 (map car im-list))))
289
 
   (assert-true  (uim-bool '(memq 'hangul2 (map car im-list))))
290
 
   (assert-true  (uim-bool '(memq 'hangul3 (map car im-list))))
291
 
   (assert-true  (uim-bool '(memq 'romaja (map car im-list))))
292
294
   (assert-true  (uim-bool '(memq 'viqr (map car im-list))))
293
295
   (assert-true  (uim-bool '(memq 'ipa-x-sampa (map car im-list))))
294
296
   (assert-true  (uim-bool '(memq 'direct (map car im-list))))
377
379
   (assert-equal 'byeoru
378
380
                 (uim '(im-name (find-im-for-locale "ko.UTF-8"))))
379
381
   ;; Vietnamese
380
 
   (assert-equal 'm17n-vi-vni
381
 
                 (uim '(im-name (find-im-for-locale "vi"))))
382
 
   (assert-equal 'm17n-vi-vni
383
 
                 (uim '(im-name (find-im-for-locale "vi_VN"))))
384
 
   (assert-equal 'm17n-vi-vni
385
 
                 (uim '(im-name (find-im-for-locale "vi_VN.UTF-8"))))
386
 
   (assert-equal 'm17n-vi-vni
387
 
                 (uim '(im-name (find-im-for-locale "vi.UTF-8"))))
 
382
   ;;(assert-equal 'm17n-vi-vni
 
383
   ;;            (uim '(im-name (find-im-for-locale "vi"))))
 
384
   ;;(assert-equal 'm17n-vi-vni
 
385
   ;;            (uim '(im-name (find-im-for-locale "vi_VN"))))
 
386
   ;;(assert-equal 'm17n-vi-vni
 
387
   ;;            (uim '(im-name (find-im-for-locale "vi_VN.UTF-8"))))
 
388
   ;;(assert-equal 'm17n-vi-vni
 
389
   ;;            (uim '(im-name (find-im-for-locale "vi.UTF-8"))))
388
390
   ;; native locale
389
391
   (uim '(unsetenv "LC_ALL"))
390
392
   (uim '(unsetenv "LANG"))
476
478
                 (uim '(im-name (find-im 'anthy #f))))
477
479
   (assert-equal 'skk
478
480
                 (uim '(im-name (find-im 'skk #f))))
479
 
   (assert-equal 'tcode
480
 
                 (uim '(im-name (find-im 'tcode #f))))
 
481
   (assert-equal 'latin
 
482
                 (uim '(im-name (find-im 'latin #f))))
481
483
   (assert-equal 'py
482
484
                 (uim '(im-name (find-im 'py #f))))
483
485
   (assert-equal 'pinyin-big5
484
486
                 (uim '(im-name (find-im 'pinyin-big5 #f))))
485
 
   (assert-equal 'hangul2
486
 
                 (uim '(im-name (find-im 'hangul2 #f))))
487
487
   (assert-equal 'pyunihan
488
488
                 (uim '(im-name (find-im 'pyunihan #f))))
489
489
   ;; implicit selection by locale information
533
533
                 (uim '(im-name (find-im 'anthy #f))))
534
534
   (assert-equal 'skk
535
535
                 (uim '(im-name (find-im 'skk #f))))
536
 
   (assert-equal 'tcode
537
 
                 (uim '(im-name (find-im 'tcode #f))))
 
536
   (assert-equal 'latin
 
537
                 (uim '(im-name (find-im 'latin #f))))
538
538
   (assert-equal 'py
539
539
                 (uim '(im-name (find-im 'py #f))))
540
540
   (assert-equal 'pinyin-big5
541
541
                 (uim '(im-name (find-im 'pinyin-big5 #f))))
542
 
   (assert-equal 'hangul2
543
 
                 (uim '(im-name (find-im 'hangul2 #f))))
544
542
   (assert-equal 'pyunihan
545
543
                 (uim '(im-name (find-im 'pyunihan #f))))
546
544
   (assert-equal 'pyunihan
577
575
                 (uim '(im-name (find-im 'anthy #f))))
578
576
   (assert-equal 'skk
579
577
                 (uim '(im-name (find-im 'skk #f))))
580
 
   (assert-equal 'tcode
581
 
                 (uim '(im-name (find-im 'tcode #f))))
 
578
   (assert-equal 'latin
 
579
                 (uim '(im-name (find-im 'latin #f))))
582
580
   (assert-equal 'py
583
581
                 (uim '(im-name (find-im 'py #f))))
584
582
   (assert-equal 'pinyin-big5
585
583
                 (uim '(im-name (find-im 'pinyin-big5 #f))))
586
 
   (assert-equal 'hangul2
587
 
                 (uim '(im-name (find-im 'hangul2 #f))))
588
584
   (assert-equal 'pyunihan
589
585
                 (uim '(im-name (find-im 'pyunihan #f))))
590
586
   (assert-equal 'pyunihan
621
617
                 (uim '(im-name (find-im 'anthy #f))))
622
618
   (assert-equal 'skk
623
619
                 (uim '(im-name (find-im 'skk #f))))
624
 
   (assert-equal 'tcode
625
 
                 (uim '(im-name (find-im 'tcode #f))))
 
620
   (assert-equal 'latin
 
621
                 (uim '(im-name (find-im 'latin #f))))
626
622
   (assert-equal 'py
627
623
                 (uim '(im-name (find-im 'py #f))))
628
624
   (assert-equal 'pinyin-big5
629
625
                 (uim '(im-name (find-im 'pinyin-big5 #f))))
630
 
   (assert-equal 'hangul2
631
 
                 (uim '(im-name (find-im 'hangul2 #f))))
632
626
   (assert-equal 'pyunihan
633
627
                 (uim '(im-name (find-im 'pyunihan #f))))
634
628
   (assert-equal 'pyunihan
659
653
     (uim '(for-each require-module installed-im-module-list))
660
654
     (uim '(define test-im-anthy #f))
661
655
     (uim '(define test-im-skk #f))
662
 
     (uim '(define test-im-tcode #f))
 
656
     (uim '(define test-im-latin #f))
663
657
     (uim '(begin
664
658
             (set! test-im-anthy (assq 'anthy im-list))
665
659
             #t))
667
661
             (set! test-im-skk (assq 'skk im-list))
668
662
             #t))
669
663
     (uim '(begin
670
 
             (set! test-im-tcode (assq 'tcode im-list))
 
664
             (set! test-im-latin (assq 'latin im-list))
671
665
             #t))
672
666
     (uim '(begin
673
667
             (set! im-list (list test-im-anthy
674
668
                                 test-im-skk
675
 
                                 test-im-tcode))
 
669
                                 test-im-latin))
 
670
             #t))
 
671
     (uim '(begin
 
672
             (set! enabled-im-list '(anthy skk latin))
676
673
             #t))))
677
674
 
678
675
  ("test next-im"
679
676
   (assert-equal 'skk
680
677
                 (uim '(next-im 'anthy)))
681
 
   (assert-equal 'tcode
 
678
   (assert-equal 'latin
682
679
                 (uim '(next-im 'skk)))
683
680
   (assert-equal 'anthy
684
 
                 (uim '(next-im 'tcode)))
 
681
                 (uim '(next-im 'latin)))
685
682
   (assert-equal 'anthy
686
683
                 (uim '(next-im 'non-existent))))
687
684
 
693
690
;   ;; object in C world is missing
694
691
;   ;(uim '(create-context 0 #f 'anthy))
695
692
;   ;(uim '(create-context 1 #f 'skk))
696
 
;   ;(uim '(create-context 2 #f 'tcode))
 
693
;   ;(uim '(create-context 2 #f 'latin))
697
694
;   (assert-equal 'anthy
698
695
;                (uim '(im-name current-im)))
699
696
;   ;; switch-im fails because create-context fails
700
 
;   ;(uim '(switch-im 1 'tcode))
701
 
;   (assert-equal 'tcode
 
697
;   ;(uim '(switch-im 1 'latin))
 
698
;   (assert-equal 'latin
702
699
;                (uim '(im-name current-im)))
703
 
;   (assert-equal 'tcode
 
700
;   (assert-equal 'latin
704
701
;                (uim '(im-name (context-im (find-context 1)))))
705
702
;   ;(uim '(switch-im 1 'skk))
706
703
;   (assert-equal 'skk
716
713
     ;; define as hand-made data to avoid that implementation of
717
714
     ;; register-context affect other tests
718
715
     (uim '(begin
719
 
             (set! context-list (list (im-new 1 (retrieve-im 'tcode))
 
716
             (set! context-list (list (im-new 1 (retrieve-im 'latin))
720
717
                                      (im-new 2 (retrieve-im 'direct))
721
718
                                      (im-new 3 (retrieve-im 'skk))
722
719
                                      (im-new 4 (retrieve-im 'anthy))))
733
730
                 (uim '(context-uc (nth 3 context-list)))))
734
731
 
735
732
  ("test context-im"
736
 
   (assert-equal 'tcode
 
733
   (assert-equal 'latin
737
734
                 (uim '(im-name (context-im (nth 0 context-list)))))
738
735
   (assert-equal 'direct
739
736
                 (uim '(im-name (context-im (nth 1 context-list)))))
749
746
   (uim '(begin (remove-context (assv 3 context-list)) #t))
750
747
   (assert-equal 3
751
748
                 (uim '(length context-list)))
752
 
   (assert-equal 'tcode
 
749
   (assert-equal 'latin
753
750
                 (uim '(im-name (context-im (assv 1 context-list)))))
754
751
   (assert-equal 'direct
755
752
                 (uim '(im-name (context-im (assv 2 context-list)))))
810
807
           #t))
811
808
   (assert-equal 5
812
809
                 (uim '(length context-list)))
813
 
   (assert-equal 'tcode
 
810
   (assert-equal 'latin
814
811
                 (uim '(im-name (context-im (assv 1 context-list)))))
815
812
   (assert-equal 'tutcode
816
813
                 (uim '(im-name (context-im (assv 5 context-list)))))
817
814
 
818
815
   ;; sparse id must be accepted
819
816
   (uim '(begin
820
 
           (register-context (context-new 10 (find-im 'hangul2 #f)))
 
817
           (register-context (context-new 10 (find-im 'py #f)))
821
818
           #t))
822
819
   (assert-equal 6
823
820
                 (uim '(length context-list)))
824
 
   (assert-equal 'hangul2
 
821
   (assert-equal 'py
825
822
                 (uim '(im-name (context-im (assv 10 context-list)))))
826
823
 
827
824
   ;; additional sparse id
828
825
   (uim '(begin
829
 
           (register-context (context-new 8 (find-im 'hangul3 #f)))
 
826
           (register-context (context-new 8 (find-im 'pyunihan #f)))
830
827
           #t))
831
828
   (assert-equal 7
832
829
                 (uim '(length context-list)))
833
 
   (assert-equal 'hangul3
 
830
   (assert-equal 'pyunihan
834
831
                 (uim '(im-name (context-im (assv 8 context-list)))))
835
832
 
836
833
   ;; decrimented id
837
834
   (uim '(begin
838
 
           (register-context (context-new 0 (find-im 'romaja #f)))
 
835
           (register-context (context-new 0 (find-im 'pinyin-big5 #f)))
839
836
           #t))
840
837
   (assert-equal 8
841
838
                 (uim '(length context-list)))
842
 
   (assert-equal 'romaja
 
839
   (assert-equal 'pinyin-big5
843
840
                 (uim '(im-name (context-im (assv 0 context-list))))))
844
841
 
845
842
  ("test register-context (duplicate id)"
890
887
             (require-module "anthy")
891
888
             (require-module "canna")
892
889
             (require-module "skk")
893
 
             (require-module "tcode")))))
 
890
             (require-module "latin")))))
894
891
 
895
892
  ("test custom-im-list-as-choice-rec"
896
893
   (assert-equal '((canna "Canna" "A multi-segment kana-kanji conversion engine")
898
895
                   (anthy "Anthy" "A multi-segment kana-kanji conversion engine"))
899
896
                 (uim '(custom-im-list-as-choice-rec
900
897
                        (map retrieve-im '(canna skk anthy)))))
901
 
   (assert-equal '((tcode
902
 
                    "T-Code"
903
 
                    "A kanji direct input method"))
 
898
   (assert-equal '((latin
 
899
                    "Latin characters"
 
900
                    "Latin characters mainly used for Latin and Germanic languages"))
904
901
                 (uim '(custom-im-list-as-choice-rec
905
 
                        (map retrieve-im '(tcode)))))
 
902
                        (map retrieve-im '(latin)))))
906
903
   (assert-equal ()
907
904
                 (uim '(custom-im-list-as-choice-rec ())))))