[cxml-cvs] CVS update: cxml/test/domtest.lisp

David Lichteblau dlichteblau at common-lisp.net
Sat Jun 25 13:57:00 UTC 2005


Update of /project/cxml/cvsroot/cxml/test
In directory common-lisp.net:/tmp/cvs-serv10721/test

Modified Files:
	domtest.lisp 
Log Message:
new release

Date: Sat Jun 25 15:56:57 2005
Author: dlichteblau

Index: cxml/test/domtest.lisp
diff -u cxml/test/domtest.lisp:1.2 cxml/test/domtest.lisp:1.3
--- cxml/test/domtest.lisp:1.2	Wed Apr  6 23:14:41 2005
+++ cxml/test/domtest.lisp	Sat Jun 25 15:56:57 2005
@@ -126,28 +126,29 @@
   (map-child-elements 'list #'identity element))
 
 (defun parse-java-literal (str)
-  (unless (stringp str)
-    (setf str (runes:rod-string str)))
+  (when (stringp str)
+    (setf str (runes:string-rod str)))
   (cond
     ((zerop (length str)) nil)
-    ((equal str "true")
+    ((runes:rod= str #"true")
       t)
-    ((equal str "false")
+    ((runes:rod= str #"false")
       nil)
-    ((digit-char-p (char str 0))
-      (parse-integer str))
-    ((char= (char str 0) #\")
-      (runes:rod
-       (with-output-to-string (out)
-         (with-input-from-string (in str)
-           (read-char in)
-           (for ((c = (read-char in))
-                 :until (char= c #\"))
-               (if (char= c #\\)
-                   (ecase (read-char in)
-                     ;; ...
-                     (#\n (write-char #\newline out)))
-                   (write-char c out)))))))
+    ((digit-char-p (runes:rune-char (elt str 0)))
+      (parse-integer (runes:rod-string str)))
+    ((runes:rune= (elt str 0) #.(runes:char-rune #\"))
+      (let ((v (make-array 1 :fill-pointer 0 :adjustable t)))
+        (for* ((i = 1 :then (1+ i))
+               (c = (elt str i))
+               :until (runes:rune= c #.(runes:char-rune #\")))
+            (if (runes:rune= c #.(runes:char-rune #\\))
+                (ecase (progn
+                         (incf i)
+                         (elt str i))
+                  ;; ...
+                  (#/n (vector-push-extend #/newline v (length v))))
+                (vector-push-extend c v (length v))))
+        (coerce v 'runes::simple-rod)))
     (t
       (%intern str))))
 
@@ -613,7 +614,8 @@
     document))
 
 (defparameter *bad-tests*
-    '("hc_nodereplacechildnewchildexists.xml"
+    '("hc_elementnormalize2.xml"
+      "hc_nodereplacechildnewchildexists.xml"
       "characterdatadeletedatanomodificationallowederr.xml"))
 
 (defun run-all-tests (*directory* &optional verbose)
@@ -635,7 +637,7 @@
         (incf n)))
     (do-child-elements (member suite)
       (let ((href (runes:rod-string (dom:get-attribute member "href"))))
-        (unless (or (equal (dom:tag-name member) "metadata")
+        (unless (or (runes:rod= (dom:tag-name member) #"metadata")
                     (member href *bad-tests* :test 'equal))
           (format t "~&~D/~D ~A~%" i n href)
           (let ((lisp (slurp-test (merge-pathnames href test-directory))))




More information about the Cxml-cvs mailing list