[Erp5-report] r31784 nicolas - /erp5/trunk/products/ERP5Form/tests/testFields.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jan 15 17:56:45 CET 2010
Author: nicolas
Date: Fri Jan 15 17:56:44 2010
New Revision: 31784
URL: http://svn.erp5.org?rev=31784&view=rev
Log:
* Test render_odt and render_odg when they are implemented.
Works in progress
reviewed by Romain
Modified:
erp5/trunk/products/ERP5Form/tests/testFields.py
Modified: erp5/trunk/products/ERP5Form/tests/testFields.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testFields.py?rev=31784&r1=31783&r2=31784&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testFields.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testFields.py [utf8] Fri Jan 15 17:56:44 2010
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved.
@@ -57,9 +58,8 @@
from Acquisition import aq_base
from Products.Formulator.FieldRegistry import FieldRegistry
from Products.Formulator.Validator import ValidationError
-from Products.Formulator.StandardFields import FloatField
-from Products.Formulator.StandardFields import StringField
-from Products.Formulator.StandardFields import DateTimeField
+from Products.Formulator.StandardFields import FloatField, StringField,\
+DateTimeField, TextAreaField
from Products.Formulator.MethodField import Method, BoundMethod
from Products.Formulator.TALESField import TALESMethod
@@ -69,7 +69,10 @@
from Products.ERP5Form.Form import getFieldValue
from Products.ERP5Form import Form
from Products.ERP5Form import ProxyField
-
+from DateTime import DateTime
+
+from Products.Formulator.Widget import NSMAP
+ODG_XML_WRAPPING_XPATH = 'draw:text-box/text:p/text:span'
class TestRenderViewAPI(unittest.TestCase):
"""For all fields and widgets, tests the signature of the render_view method.
@@ -217,6 +220,18 @@
self.assertRaises(ValidationError,
self.validator.validate, self.field, 'field_test_field', request)
+ def test_render_odt(self):
+ self.field.values['input_style'] = '-1 234.5'
+ self.field.values['default'] = 1000
+ self.assertEquals('1 000.0', self.field.render_odt(as_string=False).text)
+
+ def test_render_odg(self):
+ self.field.values['input_style'] = '-1 234.5'
+ self.field.values['default'] = 1000
+ test_value = self.field.render_odg(as_string=False)\
+ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]
+ self.assertEquals('1 000.0', test_value)
+
class TestStringField(unittest.TestCase):
"""Tests string field
"""
@@ -232,6 +247,62 @@
self.field.values['editable'] = 0
self.assertEquals('<script>', self.field.render("<script>"))
+ def test_render_odt(self):
+ self.field.values['default'] = 'Hello World! <&> <∓>'
+ self.assertEquals('Hello World! <&> <∓>', self.field.render_odt(as_string=False).text)
+ self.assertEquals('Hello World!', self.field.render_odt(value='Hello World!', as_string=False).text)
+
+ def test_render_odg(self):
+ self.field.values['default'] = 'Hello World! <&> <∓>'
+ test_value = self.field.render_odg(as_string=False)\
+ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]
+ self.assertEquals('Hello World! <&> <∓>', test_value)
+ test_value = self.field.render_odg(value='Hello World!', as_string=False)\
+ .xpath('%s/text()' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)[0]
+ self.assertEquals('Hello World!', test_value)
+
+class TestDateTimeField(unittest.TestCase):
+ """Tests DateTime field
+ """
+
+ def getTitle(self):
+ return "DateTime Field"
+
+ def setUp(self):
+ self.field = DateTimeField('test_field')
+ self.widget = self.field.widget
+
+ def test_render_odt(self):
+ self.field.values['default'] = DateTime('2010/01/01 00:00:01 UTC')
+ self.assertEquals('2010/01/01 00:00',
+ self.field.render_odt(as_string=False).text)
+
+class TestTextAreaField(unittest.TestCase):
+ """Tests TextArea field
+ """
+
+ def getTitle(self):
+ return "TextArea Field"
+
+ def setUp(self):
+ self.field = TextAreaField('test_field')
+ self.widget = self.field.widget
+
+ def test_render_odt(self):
+ self.field.values['default'] = 'My first Line\nMy Second Line\tfoo'
+ self.assertEquals('text:line-break',
+ self.field.render_odt(as_string=False)[0].xpath('name()'))
+ self.assertEquals('text:tab',
+ self.field.render_odt(as_string=False)[1].xpath('name()'))
+
+ def test_render_odg(self):
+ self.field.values['default'] = 'My first Line\nMy Second Line\tfoo'
+ test_value = self.field.render_odg(as_string=False)\
+ .xpath('%s/text:line-break' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)
+ self.assertTrue(test_value)
+ test_value = self.field.render_odg(as_string=False)\
+ .xpath('%s/text:tab' % ODG_XML_WRAPPING_XPATH, namespaces=NSMAP)
+ self.assertTrue(test_value)
class TestProxyField(unittest.TestCase):
@@ -626,6 +697,8 @@
suite.addTest(unittest.makeSuite(TestRenderViewAPI))
suite.addTest(unittest.makeSuite(TestFloatField))
suite.addTest(unittest.makeSuite(TestStringField))
+ suite.addTest(unittest.makeSuite(TestDateTimeField))
+ suite.addTest(unittest.makeSuite(TestTextAreaField))
suite.addTest(unittest.makeSuite(TestProxyField))
suite.addTest(unittest.makeSuite(TestFieldValueCache))
return suite
More information about the Erp5-report
mailing list