[Erp5-report] r26885 - in /erp5/trunk/products/ERP5OOo/tests: ./ test_document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri May 8 05:58:51 CEST 2009
Author: tatuya
Date: Fri May 8 05:58:49 2009
New Revision: 26885
URL: http://svn.erp5.org?rev=26885&view=rev
Log:
- append a test-case for setting a table row style
- fix a comment
Modified:
erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py
erp5/trunk/products/ERP5OOo/tests/test_document/Foo_001.odt
Modified: erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py?rev=26885&r1=26884&r2=26885&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testFormPrintout.py [utf8] Fri May 8 05:58:49 2009
@@ -617,7 +617,7 @@
self._validate(odf_document)
def test_02_Table_08_Nodata(self, run=run_all_test):
- """7. Normal case: list box has no data"""
+ """8. Normal case: list box has no data"""
if not run: return
# test target
test1 = self.portal.foo_module.test1
@@ -649,7 +649,97 @@
# no rows
self.assertEqual(len(odf_table_rows), 0)
self._validate(odf_document)
-
+
+ def test_02_Table_09_StyleSetting(self, run=run_all_test):
+ """ 9. Normal case: setting the style of the row.
+
+ * Test Data format:
+ The table listbox4 has six rows which contains the reference of the row.
+ """
+ if not run: return
+ # test target
+ test1 = self.portal.foo_module.test1
+ foo_printout = test1.Foo_viewAsPrintout
+ foo_form = test1.Foo_view
+ listbox = foo_form.listbox
+ request = self.app.REQUEST
+ request['here'] = test1
+
+ for i in xrange(3, 7):
+ foo_id = "foo_%s" % i
+ if test1._getOb(foo_id, None) is None:
+ test1.newContent(foo_id, portal_type='Foo Line')
+
+ createZODBPythonScript(
+ self.portal.portal_skins.custom,
+ 'Foo_getRowCssList',
+ '*args,**kw',
+r"""
+line_index = kw['list_index']
+line_number = line_index + 1
+for n in xrange(6, 0, -1):
+ if line_number % n is 0:
+ return "line" + str(n)
+"""
+ )
+
+ foo_form.manage_renameObject('listbox', 'listbox4', REQUEST=request)
+ listbox4 = foo_form.listbox4
+ test1.foo_1.setTitle('foo_title_9')
+ message = listbox4.ListBox_setPropertyList(
+ field_list_method = 'objectValues',
+ field_portal_types = 'Foo Line | Foo Line',
+ field_row_css_method = 'Foo_getRowCssList',
+ field_columns = 'id|ID\ntitle|Title\nquantity|Quantity',)
+ self.failUnless('Set Successfully' in message)
+ listboxline_list = listbox4.get_value('default', render_format = 'list',
+ REQUEST = request)
+ self.assertEqual(len(listboxline_list), 7)
+ self.assertTrue(listboxline_list[1].getColumnProperty('title') == "foo_title_9")
+
+ ## test
+ odf_document = foo_printout.index_html(REQUEST=request)
+ #test_output = open("/tmp/test_02_Table_09_StyleSetting.odf", "w")
+ #test_output.write(odf_document)
+ self.assertTrue(odf_document is not None)
+ builder = OOoBuilder(odf_document)
+ content_xml = builder.extract("content.xml")
+ self.assertTrue(content_xml.find("foo_title_9") > 0)
+
+ content = etree.XML(content_xml)
+ table_row_xpath = '//table:table[@table:name="listbox4"]/table:table-row'
+ table_row_list = content.xpath(table_row_xpath, namespaces=content.nsmap)
+ self.assertEqual(len(table_row_list), 6)
+
+ line2 = table_row_list[1]
+ line2_cell_list = line2.xpath('table:table-cell', namespaces=content.nsmap)
+ self.assertEqual(len(line2_cell_list), 2)
+ line2_cell2 = line2_cell_list[1]
+ span_attribute_name = '{%s}number-columns-spanned' % content.nsmap['table']
+ line2_cell2_span = line2_cell2.attrib[span_attribute_name]
+ self.assertEqual(line2_cell2_span, "2")
+
+ line3 = table_row_list[2]
+ line3_cell_list = line3.xpath('table:table-cell', namespaces=content.nsmap)
+ self.assertEqual(len(line3_cell_list), 1)
+ line3_cell1 = line3_cell_list[0]
+ line3_cell1_span = line3_cell1.attrib[span_attribute_name]
+ self.assertEqual(line3_cell1_span, "3")
+
+ line5 = table_row_list[4]
+ line5_cell_list = line5.xpath('table:table-cell', namespaces=content.nsmap)
+ self.assertEqual(len(line5_cell_list), 2)
+ line5_cell1 = line5_cell_list[0]
+ line5_cell1_span = line5_cell1.attrib[span_attribute_name]
+ self.assertEqual(line5_cell1_span, "2")
+
+ self._validate(odf_document)
+
+ # put back the field name
+ foo_form.manage_renameObject('listbox4', 'listbox', REQUEST=request)
+ # delete the test objects
+ test1.manage_delObjects(['foo_3','foo_4','foo_5','foo_6'])
+
def _test_03_Frame(self, run=run_all_test):
"""
Frame not tested yet
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=26885&r1=26884&r2=26885&view=diff
==============================================================================
Binary files - no diff available.
More information about the Erp5-report
mailing list