X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Funicode-normalization.impure.lisp;h=49aa69a49173ac75c6a8fdf23220fa89bc05d8f9;hb=9c9d6dbdc28a8bfe70be09f35263e9ec02411d0e;hp=e930440b1ac1e70a56a8bcf5510c287e2a6e0efd;hpb=d0895e12b8275044532ce9a6041b91043cd69d4a;p=sbcl.git diff --git a/tests/unicode-normalization.impure.lisp b/tests/unicode-normalization.impure.lisp index e930440..49aa69a 100644 --- a/tests/unicode-normalization.impure.lisp +++ b/tests/unicode-normalization.impure.lisp @@ -1,3 +1,17 @@ +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; While most of SBCL is derived from the CMU CL system, the test +;;;; files (like this one) were written from scratch after the fork +;;;; from CMU CL. +;;;; +;;;; This software is in the public domain and is provided with +;;;; absolutely no warranty. See the COPYING and CREDITS files for +;;;; more information. + +;;; KLUDGE: eventually we will export NORMALIZE-STRING from somewhere. +;;; Until we do, import it here so we can test it without putting :: +;;; everywhere. (import 'sb-impl::normalize-string) (defun parse-one-line (line) @@ -17,12 +31,10 @@ (defun test-line (c1 c2 c3 c4 c5) ;; NFC - #+nil (assert-all-string= c2 (normalize-string c1 :nfc) (normalize-string c2 :nfc) (normalize-string c3 :nfc)) - #+nil (assert-all-string= c4 (normalize-string c4 :nfc) (normalize-string c5 :nfc)) @@ -37,7 +49,6 @@ (normalize-string c5 :nfd)) ;; NFKC - #+nil (assert-all-string= c4 (normalize-string c1 :nfkc) (normalize-string c2 :nfkc) @@ -55,10 +66,8 @@ (defun test-no-normalization (string) (assert-all-string= string - #+nil (normalize-string string :nfc) (normalize-string string :nfd) - #+nil (normalize-string string :nfkc) (normalize-string string :nfkd))) @@ -70,7 +79,8 @@ (assert (string= "@Part0" line :end2 6)) (assert (char= #\# (char (read-line s) 0))))) ;; Part0: specific cases - (with-test (:name (:unicode-normalization :part0)) + (with-test (:name (:unicode-normalization :part0) + :skipped-on '(not :sb-unicode)) (do ((line (read-line s) (read-line s))) ((char= #\# (char line 0)) (assert (string= "@Part1" (read-line s) :end2 6)) @@ -81,7 +91,8 @@ (test-line c1 c2 c3 c4 c5)))) ;; Part1: single characters. (Extra work to check for conformance ;; on unlisted entries) - (with-test (:name (:unicode-normalization :part1)) + (with-test (:name (:unicode-normalization :part1) + :skipped-on '(not :sb-unicode)) (do ((line (read-line s) (read-line s)) (code 0)) ((char= #\# (char line 0)) @@ -98,7 +109,8 @@ (setf code (1+ c))) (test-no-normalization (string (code-char code))))))) ;; Part2: Canonical Order Test - (with-test (:name (:unicode-normalization :part2)) + (with-test (:name (:unicode-normalization :part2) + :skipped-on '(not :sb-unicode)) (do ((line (read-line s) (read-line s))) ((char= #\# (char line 0)) (assert (string= "@Part3" (read-line s) :end2 6)) @@ -107,7 +119,8 @@ (parse-one-line line) (test-line c1 c2 c3 c4 c5)))) ;; Part3: PRI #29 Test - (with-test (:name (:unicode-normalization :part3)) + (with-test (:name (:unicode-normalization :part3) + :skipped-on '(not :sb-unicode)) (do ((line (read-line s) (read-line s))) ((char= #\# (char line 0)) (assert (char= #\# (char (read-line s) 0)))