emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r118224: xml.c:parse_region: Do not forget the first


From: Ulf Jasper
Subject: [Emacs-diffs] trunk r118224: xml.c:parse_region: Do not forget the first document child.
Date: Tue, 28 Oct 2014 20:33:20 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 118224
revision-id: address@hidden
parent: address@hidden
author: Ulf Jasper
committer: Ulf Jasper <address@hidden>
branch nick: trunk
timestamp: Tue 2014-10-28 21:33:12 +0100
message:
  xml.c:parse_region: Do not forget the first document child.
  
  * src/xml.c (parse_region): Do not forget the first document child.
  
  * test/automated/libxml-tests.el: New file.
added:
  test/automated/libxml-tests.el 
libxmltests.el-20141028203146-071c2fh2b3qjsvk0-1
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/xml.c                      xml.c-20100910163230-8xeao012hn18v9ef-1
  test/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-8588
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-10-25 13:56:22 +0000
+++ b/src/ChangeLog     2014-10-28 20:33:12 +0000
@@ -1,3 +1,7 @@
+2014-10-28  Ulf Jasper  <address@hidden>
+
+       * xml.c (parse_region): Do not forget the first document child.
+
 2014-10-25  Jan Djärv  <address@hidden>
 
        * nsselect.m: pasteboard_changecount is new.

=== modified file 'src/xml.c'
--- a/src/xml.c 2014-01-01 07:43:34 +0000
+++ b/src/xml.c 2014-10-28 20:33:12 +0000
@@ -216,7 +216,7 @@
     {
       /* If the document is just comments, then this should get us the
         nodes anyway. */
-      xmlNode *n = doc->children->next;
+      xmlNode *n = doc->children;
       Lisp_Object r = Qnil;
 
       while (n) {

=== modified file 'test/ChangeLog'
--- a/test/ChangeLog    2014-10-25 09:12:01 +0000
+++ b/test/ChangeLog    2014-10-28 20:33:12 +0000
@@ -1,3 +1,7 @@
+2014-10-28  Ulf Jasper  <address@hidden>
+
+       * automated/libxml-tests.el: New file.
+
 2014-10-22  Noam Postavsky  <address@hidden>
 
        * test/automated/process-tests.el (process-test-quoted-batfile):

=== added file 'test/automated/libxml-tests.el'
--- a/test/automated/libxml-tests.el    1970-01-01 00:00:00 +0000
+++ b/test/automated/libxml-tests.el    2014-10-28 20:33:12 +0000
@@ -0,0 +1,56 @@
+;;; libxml-parse-tests.el --- Test suite for libxml parsing.
+
+;; Copyright (C) 2014 Free Software Foundation, Inc.
+
+;; Author: Ulf Jasper <address@hidden>
+;; Keywords:       internal
+;; Human-Keywords: internal
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs 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 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ert)
+
+(defvar libxml-tests--data
+  `(;; simple case
+    ("<?xml version=\"1.0\"?><foo baz=\"true\">bar</foo>"
+     . (foo ((baz . "true")) "bar"))
+    ;; toplevel comments -- first document child must not get lost
+    (,(concat "<?xml version=\"1.0\"?><foo>bar</foo><!--comment-1-->"
+             "<!--comment-2-->")
+     . (top nil (foo nil "bar") (comment nil "comment-1")
+            (comment nil "comment-2")))
+    (,(concat "<?xml version=\"1.0\"?><!--comment-a--><foo a=\"b\">"
+             "<bar>blub</bar></foo><!--comment-b--><!--comment-c-->")
+     . (top nil (comment nil "comment-a") (foo ((a . "b")) (bar nil "blub"))
+            (comment nil "comment-b") (comment nil "comment-c"))))
+  "Alist of XML strings and their expected parse trees.")
+
+
+(ert-deftest libxml-tests ()
+  "Test libxml."
+  (when (fboundp 'libxml-parse-xml-region)
+    (with-temp-buffer
+      (dolist (test libxml-tests--data)
+        (erase-buffer)
+        (insert (car test))
+        (should (equal (cdr test)
+                       (libxml-parse-xml-region (point-min) (point-max))))))))
+
+;;; libxml-tests.el ends here


reply via email to

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