[Erp5-report] r45986 nicolas - in /erp5/trunk/utils/erp5diff/src: ERP5Diff/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Aug 5 17:25:07 CEST 2011


Author: nicolas
Date: Fri Aug  5 17:25:07 2011
New Revision: 45986

URL: http://svn.erp5.org?rev=45986&view=rev
Log:
Tail text nodes was not detected (...<node/>blablabla...)


Modified:
    erp5/trunk/utils/erp5diff/src/ERP5Diff/ERP5Diff.py
    erp5/trunk/utils/erp5diff/src/tests/erp5diff_test_suite.py

Modified: erp5/trunk/utils/erp5diff/src/ERP5Diff/ERP5Diff.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5diff/src/ERP5Diff/ERP5Diff.py?rev=45986&r1=45985&r2=45986&view=diff
==============================================================================
--- erp5/trunk/utils/erp5diff/src/ERP5Diff/ERP5Diff.py [utf8] (original)
+++ erp5/trunk/utils/erp5diff/src/ERP5Diff/ERP5Diff.py [utf8] Fri Aug  5 17:25:07 2011
@@ -414,12 +414,7 @@ class ERP5Diff:
          </node>")
       tree.node.text == '\n    '
     """
-    for child in element:
-      if type(child) == etree._Element:
-        return True
-    if element.text is None:
-      return True
-    return bool(element.text.strip()) is False or False
+    return not [text for text in element.xpath('text()') if text.strip()]
 
   def _makeRelativePathList(self, element_list, before=0):
     """

Modified: erp5/trunk/utils/erp5diff/src/tests/erp5diff_test_suite.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5diff/src/tests/erp5diff_test_suite.py?rev=45986&r1=45985&r2=45986&view=diff
==============================================================================
--- erp5/trunk/utils/erp5diff/src/tests/erp5diff_test_suite.py [utf8] (original)
+++ erp5/trunk/utils/erp5diff/src/tests/erp5diff_test_suite.py [utf8] Fri Aug  5 17:25:07 2011
@@ -1111,5 +1111,25 @@ class TestERP5Diff(unittest.TestCase):
 
     self._assertERP5DiffWorks(old_xml, new_xml, expected_result_string)
 
+  def test_text_node_in_tails(self):
+    """31. Check tail of elements ...<node/>blablabla...
+    """
+    old_xml = """
+<ul>
+  <node/>blablabla
+</ul>
+"""
+    new_xml = """
+<ul>
+  <node/>yayaya
+</ul>
+"""
+    expected_result_string = """<xupdate:modifications xmlns:xupdate="http://www.xmldb.org/xupdate" version="1.0">
+  <xupdate:update select="/ul"><node/>yayaya
+</xupdate:update>
+</xupdate:modifications>
+"""
+    self._assertERP5DiffWorks(old_xml, new_xml, expected_result_string)
+
 if __name__ == '__main__':
   unittest.main()



More information about the Erp5-report mailing list