diff --git a/product/ERP5Form/PDFForm.py b/product/ERP5Form/PDFForm.py index 31d249f05f36d1350f0c55ac83993ca38d20d0f5..d760a969eeede9100ce7f62bd2d18b2a3d33c357 100644 --- a/product/ERP5Form/PDFForm.py +++ b/product/ERP5Form/PDFForm.py @@ -262,6 +262,9 @@ class PDFForm(File): * cache compiled TALES * set _v_errors when setting invalid TALES (setCellTALES can raise, but not doEditCells) + + OBSOLETE : Not used any more. Such functionalities could be done with more + modern tools """ meta_type = "ERP5 PDF Form" diff --git a/product/ERP5Form/tests/testPDFForm.py b/product/ERP5Form/tests/testPDFForm.py deleted file mode 100644 index 354c2c54f7b775a8ebacbf43b27cfdbfe2c2b30e..0000000000000000000000000000000000000000 --- a/product/ERP5Form/tests/testPDFForm.py +++ /dev/null @@ -1,172 +0,0 @@ -############################################################################## -# -# Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved. -# Jerome Perrin <jerome@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# This program 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 2 -# of the License, or (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest -import os -from zope.component.testing import PlacelessSetup -from Products.ERP5Form.PDFForm import PDFForm -from Products.ERP5.Document.Document import Document - - -class TestPDFForm(PlacelessSetup, unittest.TestCase): - """Tests PDF Form - """ - - def getTitle(self): - return "PDF Form" - - def setUp(self): - """Creates a PDFForm, and a document on which the PDF form is rendered. - """ - super(TestPDFForm, self).setUp() - from Products.CMFCore.tests.base.utils import _setUpDefaultTraversable - _setUpDefaultTraversable() - self.document = Document('doc_id') - pdf_file = open(os.path.join(os.path.dirname(__file__), - 'data', 'test_1.pdf'), 'rb') - self.pdf_form = PDFForm('test_pdf_form').__of__(self.document) - self.pdf_form.manage_upload(pdf_file) - - # if tearDown is ever added, don't forget to call PlacelessSetup.tearDown() - - def test_getCellNames(self): - self.assertEquals(['text_1', 'text_2', 'text_3'], - self.pdf_form.getCellNames()) - - def test_SimpleGeneratePDF(self): - self.pdf_form.setCellTALES('text_1', 'string:Something simple') - self.failUnless(self.pdf_form.generatePDF()) - # aliases - self.failUnless(self.pdf_form.index_html()) - self.failUnless(self.pdf_form()) - - def test_EmptyGeneratePdf(self): - self.failUnless(self.pdf_form.generatePDF()) - # aliases - self.failUnless(self.pdf_form.index_html()) - self.failUnless(self.pdf_form()) - - def test_showCellName(self): - self.failUnless(self.pdf_form.showCellNames()) - - def test_CellTALES(self): - self.pdf_form.setCellTALES('text_1', 'here/getId') - self.assertEquals('here/getId', self.pdf_form.getCellTALES('text_1')) - - def test_setInvalidTALES(self): - from Products.PageTemplates.Expressions import getEngine - CompilerError = getEngine().getCompilerError() - self.pdf_form.setCellTALES('text_1', 'python:(inv.alid "= ') - # maybe should raise when setting the TALES, not when getting ? - self.assertRaises(CompilerError, self.pdf_form.evaluateCell, 'text_1') - - def test_EditCells(self): - self.pdf_form.doEditCells(REQUEST=dict(text_1='here/getId', - text_2='string:')) - self.assertEquals('here/getId', self.pdf_form.getCellTALES('text_1')) - self.assertEquals('string:', self.pdf_form.getCellTALES('text_2')) - - def test_EvaluateCell(self): - self.pdf_form.setCellTALES('text_1', 'here/getId') - self.assertEquals('doc_id', self.pdf_form.evaluateCell('text_1')) - - def test_EvaluateNonExistCell(self): - self.assertRaises(KeyError, self.pdf_form.evaluateCell, - 'this_cell_does_not_exist') - - def test_CalculateCellValues(self): - self.pdf_form.setCellTALES('text_1', 'here/getId') - self.pdf_form.setCellTALES('text_2', 'string:static') - calculated_values = self.pdf_form.calculateCellValues() - self.assertEquals('doc_id', calculated_values['text_1']) - self.assertEquals('static', calculated_values['text_2']) - - def test_CalculateCellValuesWithCellKey(self): - self.pdf_form.setCellTALES('text_1', 'here/getId') - self.pdf_form.setCellTALES('text_2', 'cell/text_1') - calculated_values = self.pdf_form.calculateCellValues() - self.assertEquals('doc_id', calculated_values['text_1']) - self.assertEquals('doc_id', calculated_values['text_2']) - - def test_CalculateCellValuesTotal(self): - # The original use case of `cell` - self.pdf_form.setCellTALES('text_1', 'python:3') - self.pdf_form.setCellTALES('text_2', 'python:2') - self.pdf_form.setCellTALES('text_3', - 'python:cell["text_1"] + cell["text_2"]') - self.assertEquals(3 + 2, self.pdf_form.calculateCellValues()['text_3']) - - def test_CalculateCellValuesCircularRefs(self): - self.pdf_form.setCellTALES('text_1', 'cell/text2') - self.pdf_form.setCellTALES('text_2', 'cell/text_1') - from Products.ERP5Form.PDFForm import CircularReferencyError - self.assertRaises(CircularReferencyError, - self.pdf_form.calculateCellValues) - - def test_CalculateCellValuesParms(self): - self.pdf_form.setCellTALES('text_1', 'a_parameter') - calculated_values = self.pdf_form.calculateCellValues(a_parameter='Value') - self.assertEquals('Value', calculated_values['text_1']) - - -class TestPDFFormButtons(unittest.TestCase): - """Tests PDF Form with buttons - """ - def setUp(self): - """Creates a PDFForm with buttons, and a document on which the PDF form is - rendered. - """ - self.document = Document('doc_id') - pdf_file = open(os.path.join(os.path.dirname(__file__), - 'data', 'test_button.pdf'), 'rb') - self.pdf_form = PDFForm('test_pdf_form').__of__(self.document) - self.pdf_form.manage_upload(pdf_file) - - def test_getCellNames(self): - self.assertEquals(['check_box',], - self.pdf_form.getCellNames()) - - def test_SimpleGeneratePDF(self): - self.pdf_form.setCellTALES('check_box', 'python: 1') - self.failUnless(self.pdf_form.generatePDF()) - # aliases - self.failUnless(self.pdf_form.index_html()) - self.failUnless(self.pdf_form()) - - # XXX for debugging: - # file('/tmp/out.pdf', 'w').write(self.pdf_form()) - # os.system('xpdf /tmp/out.pdf') - # os.system('kpdf /tmp/out.pdf') - # os.system('acroread /tmp/out.pdf') - - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestPDFForm)) - suite.addTest(unittest.makeSuite(TestPDFFormButtons)) - return suite