X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=tests%2Fautomated%2Fmule-tests.el;h=0e44714aca55583553c7002e837a423f3d5ef6b3;hp=86c402d5de5bc9d57700b5d978cc22b06cd848ea;hb=716cfba952c1dc0d2cf5c968971f3780ba728a89;hpb=d74da9234cc42e8018b1500105c3892a5c46d5e3 diff --git a/tests/automated/mule-tests.el b/tests/automated/mule-tests.el index 86c402d..0e44714 100644 --- a/tests/automated/mule-tests.el +++ b/tests/automated/mule-tests.el @@ -1,7 +1,8 @@ ;; Copyright (C) 1999 Free Software Foundation, Inc. ;; Author: Hrvoje Niksic -;; Maintainer: Hrvoje Niksic +;; Maintainers: Hrvoje Niksic , +;; Martin Buchholz ;; Created: 1999 ;; Keywords: tests @@ -103,6 +104,127 @@ the Assert macro checks for correctness." (aset string 0 (make-char 'latin-iso8859-2 42)) (Assert (eq (aref string 1) (make-char 'latin-iso8859-2 69)))) + ;; Test coding system functions + + ;; Create alias for coding system without subsidiaries + (Assert (coding-system-p (find-coding-system 'binary))) + (Assert (coding-system-canonical-name-p 'binary)) + (Assert (not (coding-system-alias-p 'binary))) + (Assert (not (coding-system-alias-p 'mule-tests-alias))) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Check-Error-Message + error "Symbol is the canonical name of a coding system and cannot be redefined" + (define-coding-system-alias 'binary 'iso8859-2)) + (Check-Error-Message + error "Symbol is not a coding system alias" + (coding-system-aliasee 'binary)) + + (define-coding-system-alias 'mule-tests-alias 'binary) + (Assert (coding-system-alias-p 'mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Assert (eq (get-coding-system 'binary) (get-coding-system 'mule-tests-alias))) + (Assert (eq 'binary (coding-system-aliasee 'mule-tests-alias))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-unix))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-dos))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-mac))) + + (define-coding-system-alias 'mule-tests-alias (get-coding-system 'binary)) + (Assert (coding-system-alias-p 'mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Assert (eq (get-coding-system 'binary) (get-coding-system 'mule-tests-alias))) + (Assert (eq 'binary (coding-system-aliasee 'mule-tests-alias))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-unix))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-dos))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-mac))) + + (define-coding-system-alias 'nested-mule-tests-alias 'mule-tests-alias) + (Assert (coding-system-alias-p 'nested-mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'nested-mule-tests-alias))) + (Assert (eq (get-coding-system 'binary) (get-coding-system 'nested-mule-tests-alias))) + (Assert (eq (coding-system-aliasee 'nested-mule-tests-alias) 'mule-tests-alias)) + (Assert (eq 'mule-tests-alias (coding-system-aliasee 'nested-mule-tests-alias))) + (Assert (not (coding-system-alias-p 'nested-mule-tests-alias-unix))) + (Assert (not (coding-system-alias-p 'nested-mule-tests-alias-dos))) + (Assert (not (coding-system-alias-p 'nested-mule-tests-alias-mac))) + + (Check-Error-Message + error "Attempt to create a coding system alias loop" + (define-coding-system-alias 'mule-tests-alias 'nested-mule-tests-alias)) + (Check-Error-Message + error "No such coding system" + (define-coding-system-alias 'no-such-coding-system 'no-such-coding-system)) + (Check-Error-Message + error "Attempt to create a coding system alias loop" + (define-coding-system-alias 'mule-tests-alias 'mule-tests-alias)) + + (define-coding-system-alias 'nested-mule-tests-alias nil) + (define-coding-system-alias 'mule-tests-alias nil) + (Assert (coding-system-p (find-coding-system 'binary))) + (Assert (coding-system-canonical-name-p 'binary)) + (Assert (not (coding-system-alias-p 'binary))) + (Assert (not (coding-system-alias-p 'mule-tests-alias))) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Check-Error-Message + error "Symbol is the canonical name of a coding system and cannot be redefined" + (define-coding-system-alias 'binary 'iso8859-2)) + (Check-Error-Message + error "Symbol is not a coding system alias" + (coding-system-aliasee 'binary)) + + (define-coding-system-alias 'nested-mule-tests-alias nil) + (define-coding-system-alias 'mule-tests-alias nil) + + ;; Create alias for coding system with subsidiaries + (define-coding-system-alias 'mule-tests-alias 'iso-8859-7) + (Assert (coding-system-alias-p 'mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Assert (eq (get-coding-system 'iso-8859-7) (get-coding-system 'mule-tests-alias))) + (Assert (eq 'iso-8859-7 (coding-system-aliasee 'mule-tests-alias))) + (Assert (coding-system-alias-p 'mule-tests-alias-unix)) + (Assert (coding-system-alias-p 'mule-tests-alias-dos)) + (Assert (coding-system-alias-p 'mule-tests-alias-mac)) + + (define-coding-system-alias 'mule-tests-alias (get-coding-system 'iso-8859-7)) + (Assert (coding-system-alias-p 'mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'mule-tests-alias))) + (Assert (eq (get-coding-system 'iso-8859-7) (get-coding-system 'mule-tests-alias))) + (Assert (eq 'iso-8859-7 (coding-system-aliasee 'mule-tests-alias))) + (Assert (coding-system-alias-p 'mule-tests-alias-unix)) + (Assert (coding-system-alias-p 'mule-tests-alias-dos)) + (Assert (coding-system-alias-p 'mule-tests-alias-mac)) + (Assert (eq (find-coding-system 'mule-tests-alias-mac) + (find-coding-system 'iso-8859-7-mac))) + + (define-coding-system-alias 'nested-mule-tests-alias 'mule-tests-alias) + (Assert (coding-system-alias-p 'nested-mule-tests-alias)) + (Assert (not (coding-system-canonical-name-p 'nested-mule-tests-alias))) + (Assert (eq (get-coding-system 'iso-8859-7) + (get-coding-system 'nested-mule-tests-alias))) + (Assert (eq (coding-system-aliasee 'nested-mule-tests-alias) 'mule-tests-alias)) + (Assert (eq 'mule-tests-alias (coding-system-aliasee 'nested-mule-tests-alias))) + (Assert (coding-system-alias-p 'nested-mule-tests-alias-unix)) + (Assert (coding-system-alias-p 'nested-mule-tests-alias-dos)) + (Assert (coding-system-alias-p 'nested-mule-tests-alias-mac)) + (Assert (eq (find-coding-system 'nested-mule-tests-alias-unix) + (find-coding-system 'iso-8859-7-unix))) + + (Check-Error-Message + error "Attempt to create a coding system alias loop" + (define-coding-system-alias 'mule-tests-alias 'nested-mule-tests-alias)) + (Check-Error-Message + error "No such coding system" + (define-coding-system-alias 'no-such-coding-system 'no-such-coding-system)) + (Check-Error-Message + error "Attempt to create a coding system alias loop" + (define-coding-system-alias 'mule-tests-alias 'mule-tests-alias)) + + ;; Test dangling alias deletion + (define-coding-system-alias 'mule-tests-alias nil) + (Assert (not (coding-system-alias-p 'mule-tests-alias))) + (Assert (not (coding-system-alias-p 'mule-tests-alias-unix))) + (Assert (not (coding-system-alias-p 'nested-mule-tests-alias))) + (Assert (not (coding-system-alias-p 'nested-mule-tests-alias-dos))) + ;; Test strings waxing and waning across the 8k BIG_STRING limit (see alloc.c) (defun charset-char-string (charset) (let (lo hi string n)