Mercurial > hg > xemacs-beta
view tests/automated/md5-tests.el @ 4989:d2ec55325515
make utf-8 default for Cygwin 1.7, rewrite init code determining default coding systems
-------------------- ChangeLog entries follow: --------------------
lisp/ChangeLog addition:
2010-02-06 Ben Wing <ben@xemacs.org>
* code-init.el:
* code-init.el (set-eol-detection):
* code-init.el (coding-system-current-system-configuration):
* code-init.el (coding-system-default-configuration-table): New.
* code-init.el (no-mule-no-eol-detection):
* code-init.el (define-coding-system-default-configuration): New.
* code-init.el (coding-system-variable-default-value-table): Removed.
* code-init.el (no-mule-eol-detection):
* code-init.el (coding-system-default-configuration-list): Removed.
* code-init.el (coding-system-default-variable-list):
* code-init.el (get-coding-system-variable):
* code-init.el (set-coding-system-variable):
* code-init.el (coding-system-variable-default-value):
* code-init.el (reset-coding-categories-to-default):
Significant clean-up, add Cygwin-UTF-8 support.
1. Shorten the names of the coding system variables to follow
what used to be considered the "abbreviations":
default-process-coding-system-read -> process-read
default-process-coding-system-write -> process-write
buffer-file-coding-system-for-read -> bfcs-for-read
default-buffer-file-coding-system -> default-bfcs
no-conversion-coding-system-mapping -> no-conv-cs
2. Instead of listing all the defaults in a big, strangely organized
table, use a new function
`define-coding-system-default-configuration' to define a
particular configuration. This uses a hash table stored in
`coding-system-default-configuration-table'. Rewrite
`coding-system-variable-default-value' appropriately.
3. Rename configurations to eliminate `unix' from the name:
unix-no-mule-no-eol-detection -> no-mule-no-eol-detection
unix-no-mule-eol-detection -> no-mule-eol-detection
unix-mule -> mule
This is because these are really for all systems but Windows,
not just Unix.
4. Add configuration `cygwin-utf-8', enabled when (featurep
'cygwin-use-utf-8). Uses `utf-8' for all defaults except for
`bfcs-for-read', which is `undecided'.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 06 Feb 2010 03:59:18 -0600 |
parents | 189fb67ca31a |
children | 0f66906b6e37 |
line wrap: on
line source
;; Copyright (C) 1998 Free Software Foundation, Inc. ;; Author: Hrvoje Niksic <hniksic@xemacs.org> ;; Maintainer: Hrvoje Niksic <hniksic@xemacs.org> ;; Created: 1998 ;; Keywords: tests ;; This file is part of XEmacs. ;; XEmacs is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; XEmacs is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with XEmacs; see the file COPYING. If not, write to the Free ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ;; 02111-1307, USA. ;;; Synched up with: Not in FSF. ;;; Commentary: ;; Test basic md5 functionality. ;; See test-harness.el for instructions on how to run these tests. (eval-when-compile (condition-case nil (require 'test-harness) (file-error (push "." load-path) (when (and (boundp 'load-file-name) (stringp load-file-name)) (push (file-name-directory load-file-name) load-path)) (require 'test-harness)))) (defconst md5-tests '( ;; Test samples from rfc1321: ("" . "d41d8cd98f00b204e9800998ecf8427e") ("a" . "0cc175b9c0f1b6a831c399e269772661") ("abc" . "900150983cd24fb0d6963f7d28e17f72") ("message digest" . "f96b697d7cb7938d525a2f31aaf161d0") ("abcdefghijklmnopqrstuvwxyz" . "c3fcd3d76192e4007dfb496cca67e13b") ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" . "d174ab98d277d9f5a5611c2c9f419d9f") ("12345678901234567890123456789012345678901234567890123456789012345678901234567890" . "57edf4a22be3c955ac49da2e2107b67a"))) ;;----------------------------------------------------- ;; Test `md5' on strings ;;----------------------------------------------------- (mapcar (lambda (x) (Assert-equal (md5 (car x)) (cdr x))) md5-tests) ;;----------------------------------------------------- ;; Test `md5' on portions of strings ;;----------------------------------------------------- (let ((large-string (mapconcat #'car md5-tests ""))) (let ((count 0)) (mapcar (lambda (x) (Assert-equal (md5 large-string count (+ count (length (car x)))) (cdr x)) (incf count (length (car x)))) md5-tests))) ;;----------------------------------------------------- ;; Test `md5' on buffer ;;----------------------------------------------------- (with-temp-buffer (mapcar (lambda (x) (erase-buffer) (insert (car x)) (Assert-equal (md5 (current-buffer)) (cdr x))) md5-tests)) ;;----------------------------------------------------- ;; Test `md5' on portions of buffer ;;----------------------------------------------------- (with-temp-buffer (insert (mapconcat #'car md5-tests "")) (let ((point 1)) (mapcar (lambda (x) (Assert-equal (md5 (current-buffer) point (+ point (length (car x)))) (cdr x)) (incf point (length (car x)))) md5-tests)))