guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-111-gd


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-111-gdf3f109
Date: Tue, 11 May 2010 21:52:11 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=df3f1090e8772a78206e6a5b65112fa66dbcd0af

The branch, master has been updated
       via  df3f1090e8772a78206e6a5b65112fa66dbcd0af (commit)
      from  384012a197ae388ad764234b20e2dbceb056b603 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit df3f1090e8772a78206e6a5b65112fa66dbcd0af
Author: Ludovic Courtès <address@hidden>
Date:   Tue May 11 22:54:14 2010 +0200

    Have `sxml->xml' handle `*TOP*' nodes (bug #29260).
    
    * module/sxml/simple.scm (universal-sxslt-rules): Add handler for
      `*TOP*'.  Suggested by Stefan Israelsson Tampe at
      <https://savannah.gnu.org/bugs/index.php?29260>.
    
    * test-suite/Makefile.am (SCM_TESTS): Add `sxml.simple.test'.
    
    * test-suite/tests/sxml.simple.test: New file.
    
    * THANKS: Add Stefan.

-----------------------------------------------------------------------

Summary of changes:
 THANKS                            |    1 +
 module/sxml/simple.scm            |    3 +-
 test-suite/Makefile.am            |    1 +
 test-suite/tests/sxml.simple.test |   52 +++++++++++++++++++++++++++++++++++++
 4 files changed, 56 insertions(+), 1 deletions(-)
 create mode 100644 test-suite/tests/sxml.simple.test

diff --git a/THANKS b/THANKS
index cdab840..8593a79 100644
--- a/THANKS
+++ b/THANKS
@@ -60,6 +60,7 @@ For fixes or providing information which led to a fix:
             Sam Hocevar
        Patrick Horgan
            Ales Hvezda
+         Stefan Israelsson Tampe
           Peter Ivanyi
        Wolfgang Jaehrling
          Aubrey Jaffer
diff --git a/module/sxml/simple.scm b/module/sxml/simple.scm
index a1b4854..115098c 100644
--- a/module/sxml/simple.scm
+++ b/module/sxml/simple.scm
@@ -1,6 +1,6 @@
 ;;;; (sxml simple) -- a simple interface to the SSAX parser
 ;;;;
-;;;;   Copyright (C) 2009  Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010  Free Software Foundation, Inc.
 ;;;;    Modified 2004 by Andy Wingo <wingo at pobox dot com>.
 ;;;;    Originally written by Oleg Kiselyov <oleg at pobox dot com> as 
SXML-to-HTML.scm.
 ;;;; 
@@ -46,6 +46,7 @@ into a form suitable for XML serialization by @code{(sxml 
transform)}'s
   `((@ 
      ((*default* . ,(lambda (attr-key . value) ((enattr attr-key) value))))
      . ,(lambda (trigger . value) (list '@ value)))
+    (*TOP*       . ,(lambda (tag . xml) xml))
     (*ENTITY*    . ,(lambda (tag name) (list "&" name ";")))
     (*PI*    . ,(lambda (pi tag str) (list "<?" tag " " str "?>")))
     ;; Is this right for entities? I don't have a reference for
diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am
index eed9618..0f49d05 100644
--- a/test-suite/Makefile.am
+++ b/test-suite/Makefile.am
@@ -107,6 +107,7 @@ SCM_TESTS = tests/00-initial-env.test               \
            tests/strings.test                  \
            tests/structs.test                  \
            tests/sxml.fold.test                \
+           tests/sxml.simple.test              \
            tests/sxml.ssax.test                \
            tests/sxml.transform.test           \
            tests/sxml.xpath.test               \
diff --git a/test-suite/tests/sxml.simple.test 
b/test-suite/tests/sxml.simple.test
new file mode 100644
index 0000000..623f13e
--- /dev/null
+++ b/test-suite/tests/sxml.simple.test
@@ -0,0 +1,52 @@
+;;;; sxml.simple.test --- (sxml simple)  -*- mode: scheme; coding: utf-8; -*-
+;;;;
+;;;;   Copyright (C) 2010 Free Software Foundation, Inc.
+;;;;
+;;;; This library is free software; you can redistribute it and/or
+;;;; modify it under the terms of the GNU Lesser General Public
+;;;; License as published by the Free Software Foundation; either
+;;;; version 3 of the License, or (at your option) any later version.
+;;;;
+;;;; This library 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
+;;;; Lesser General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU Lesser General Public
+;;;; License along with this library; if not, write to the Free Software
+;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA
+
+(define-module (test-sxml-simple)
+  #:use-module (test-suite lib)
+  #:use-module (sxml simple))
+
+(define %xml-sample
+  ;; An XML sample without any space in between tags, to make it easier.
+  (string-append "<?xml version='1.0' encoding='utf-8'?>"
+                 "<foo chbouib=\"yes\">"
+                   "<bar/>"
+                   "<baz>"
+                     "<smurf one=\"1\"/>"
+                   "</baz>"
+                 "</foo>"))
+
+
+(with-test-prefix "simple"
+
+  (pass-if "xml->sxml"
+    (equal?  (xml->sxml (open-input-string %xml-sample))
+            '(*TOP*
+              (*PI* xml "version='1.0' encoding='utf-8'")
+              (foo (@ (chbouib "yes"))
+                   (bar)
+                   (baz (smurf (@ (one "1"))))))))
+
+  (pass-if "xml->sxml->xml->sxml"
+    ;; Regression test for bug #29260.
+    (equal? (xml->sxml (open-input-string %xml-sample))
+            (xml->sxml
+             (open-input-string
+              (with-output-to-string
+                (lambda ()
+                  (sxml->xml
+                   (xml->sxml (open-input-string %xml-sample))))))))))


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]