[Erp5-report] r30316 - in /erp5/trunk/products/ERP5OOo: ./ tests/ tests/test_document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Nov 5 09:40:34 CET 2009
Author: tatuya
Date: Thu Nov 5 09:40:32 2009
New Revision: 30316
URL: http://svn.erp5.org?rev=30316&view=rev
Log:
Fix a bug when setting a span style directly, not creating a style.
Modified:
erp5/trunk/products/ERP5OOo/FormPrintout.py
erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py
erp5/trunk/products/ERP5OOo/tests/test_document/Foo_001.odt
Modified: erp5/trunk/products/ERP5OOo/FormPrintout.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/FormPrintout.py?rev=30316&r1=30315&r2=30316&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/FormPrintout.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/FormPrintout.py [utf8] Thu Nov 5 09:40:32 2009
@@ -400,6 +400,10 @@
range reference example:
<text:reference-mark-start text:name="week"/>Monday<text:reference-mark-end text:name="week"/>
+ or
+ <text:reference-mark-start text:name="my_title"/><text:span text:style-name="T1">title</text:span>
+ <text:reference-mark-end text:name="my_title"/>
+
"""
field_value = self._renderField(field)
value = self._toUnicodeString(field_value)
@@ -409,7 +413,12 @@
return element_tree
target_node = reference_list[0]
if not isinstance(field_value, list):
- target_node.tail = value
+ next_node = target_node.getnext()
+ span_tag_name = '{%s}span' % element_tree.nsmap['text']
+ if next_node is not None and next_node.tag == span_tag_name:
+ next_node.text = value
+ else:
+ target_node.tail = value
# clear text until 'reference-mark-end'
for node in target_node.itersiblings():
end_tag_name = '{%s}reference-mark-end' % element_tree.nsmap['text']
Modified: erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py?rev=30316&r1=30315&r2=30316&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py [utf8] Thu Nov 5 09:40:32 2009
@@ -293,7 +293,29 @@
self.assertEqual(number_paragraph.text, "543210.0")
self._validate(odf_document)
-
+
+ def test_01_Paragraph_09_RangeReferenceWithSpan(self, run=run_all_test):
+ """test range reference and span setting"""
+ if not run: return
+
+ foo_printout = self.portal.foo_module.test1.Foo_viewAsPrintout
+ foo_form = self.portal.foo_module.test1.Foo_view
+ if foo_form._getOb("my_test_title", None) is None:
+ foo_form.manage_addField('my_test_title', 'test title', 'StringField')
+ test_title = foo_form.my_test_title
+ test_title.values['default'] = 'ZZZ test here ZZZ'
+
+ odf_document = foo_printout()
+ self.assertTrue(odf_document is not None)
+ test_output = open("/tmp/test_01_Paragraph_09_RangeReferenceWithSpan.odf", "w")
+ test_output.write(odf_document)
+ builder = OOoBuilder(odf_document)
+ content_xml = builder.extract("content.xml")
+ self.assertTrue(content_xml.find("ZZZ test here ZZZ") > 0)
+ self.assertTrue(content_xml.find("test title") < 0)
+ self._validate(odf_document)
+
+
def test_02_Table_01_Normal(self, run=run_all_test):
"""To test listbox and ODF table mapping
Modified: erp5/trunk/products/ERP5OOo/tests/test_document/Foo_001.odt
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/Foo_001.odt?rev=30316&r1=30315&r2=30316&view=diff
==============================================================================
Binary files - no diff available.
More information about the Erp5-report
mailing list