[Erp5-report] r26936 - /erp5/trunk/products/Formulator/tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue May 12 17:07:22 CEST 2009
Author: nicolas
Date: Tue May 12 17:07:17 2009
New Revision: 26936
URL: http://svn.erp5.org?rev=26936&view=rev
Log:
Maintain Test against ERP5 patches
Modified:
erp5/trunk/products/Formulator/tests/test_Form.py
erp5/trunk/products/Formulator/tests/test_all.py
erp5/trunk/products/Formulator/tests/test_serialize.py
erp5/trunk/products/Formulator/tests/test_validators.py
Modified: erp5/trunk/products/Formulator/tests/test_Form.py
URL: http://svn.erp5.org/erp5/trunk/products/Formulator/tests/test_Form.py?rev=26936&r1=26935&r2=26936&view=diff
==============================================================================
--- erp5/trunk/products/Formulator/tests/test_Form.py [utf8] (original)
+++ erp5/trunk/products/Formulator/tests/test_Form.py [utf8] Tue May 12 17:07:17 2009
@@ -1,5 +1,6 @@
+# -*- coding: utf-8 -*-
import unittest, re
-import Zope
+import Zope2
# XXX this does not work for zope2.x if x < 3
# can we fake this? should we do this?
@@ -12,6 +13,9 @@
from Products.PythonScripts.PythonScript import PythonScript
+import transaction
+from Testing import ZopeTestCase
+ZopeTestCase.installProduct('Formulator')
""" random assembly testing some reported bugs.
This is _not_ a structured or even complete test suite
@@ -20,8 +24,8 @@
class FormTestCase(unittest.TestCase):
def setUp(self):
- get_transaction().begin()
- self.connection = Zope.DB.open()
+ transaction.begin()
+ self.connection = Zope2.DB.open()
self.root = makerequest.makerequest(
self.connection.root()['Application'])
@@ -31,7 +35,7 @@
def tearDown(self):
- get_transaction().abort()
+ transaction.abort()
self.connection.close()
Modified: erp5/trunk/products/Formulator/tests/test_all.py
URL: http://svn.erp5.org/erp5/trunk/products/Formulator/tests/test_all.py?rev=26936&r1=26935&r2=26936&view=diff
==============================================================================
--- erp5/trunk/products/Formulator/tests/test_all.py [utf8] (original)
+++ erp5/trunk/products/Formulator/tests/test_all.py [utf8] Tue May 12 17:07:17 2009
@@ -1,11 +1,12 @@
+# -*- coding: utf-8 -*-
# Copyright (c) 2002 Infrae. All rights reserved.
# See also LICENSE.txt
# $Revision: 1.2 $
import unittest
-import Zope
+import Zope2
try:
- from Zope import startup
+ from Zope2 import startup
startup()
except ImportError:
# startup is only in Zope2.6
Modified: erp5/trunk/products/Formulator/tests/test_serialize.py
URL: http://svn.erp5.org/erp5/trunk/products/Formulator/tests/test_serialize.py?rev=26936&r1=26935&r2=26936&view=diff
==============================================================================
--- erp5/trunk/products/Formulator/tests/test_serialize.py [utf8] (original)
+++ erp5/trunk/products/Formulator/tests/test_serialize.py [utf8] Tue May 12 17:07:17 2009
@@ -1,12 +1,13 @@
+# -*- coding: utf-8 -*-
import unittest
-import Zope
from Products.Formulator.Form import ZMIForm
from Products.Formulator.XMLToForm import XMLToForm
from Products.Formulator.FormToXML import formToXML
from Products.Formulator.Errors import ValidationError, FormValidationError
-
+from Testing import ZopeTestCase
+ZopeTestCase.installProduct('Formulator')
class FakeRequest:
""" a fake request for testing.
@@ -25,7 +26,7 @@
def __setitem__(self, key, value):
self.dict[key] = value
- def get(self, key, default_value):
+ def get(self, key, default_value=None):
return self.dict.get(key, default_value)
def update(self, other_dict):
@@ -221,8 +222,6 @@
text2 = e.errors[0].error_text
self.assertEquals(text1, text2)
-
-
def test_fieldValueTypes(self):
@@ -249,10 +248,9 @@
multi_field = getattr(form, 'multi_field')
link_field = getattr(form, 'link_field')
empty_field = getattr(form, 'empty_field')
-
+
# XXX editing fields by messing with a fake request
# -- any better way to do this?
-
default_values = {'field_title': 'Test Title',
'field_display_width': '92',
'field_required':'checked',
@@ -260,27 +258,52 @@
}
try:
request = FakeRequest()
+ for key, sub_field in int_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
request.update(default_values)
request.update( {'field_default':'42',
'field_enabled':'checked'})
int_field.manage_edit(REQUEST=request)
-
- request.clear()
- request.update(default_values)
- request.update( {'field_default':'1.7'})
+
+ request.clear()
+ for key, sub_field in float_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
+ request.update(default_values)
+ request.update( {'field_default':'1.7',
+ 'field_input_style':'-1234.5'})
float_field.manage_edit(REQUEST=request)
# XXX cannot test "defaults to now", as this may fail randomly
request.clear()
- request.update(default_values)
- request.update( {'field_input_style':'list',
- 'field_input_order':'mdy',
- 'field_date_only':'',
- 'field_css_class':'test_css',
- 'field_time_separator':'$'})
+ for key, sub_field in date_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
+ request.update(default_values)
+ request.update( {'field_input_style': 'list',
+ 'field_input_order': 'mdy',
+ 'field_date_only': '',
+ 'field_css_class': 'test_css',
+ 'field_time_separator': '$',
+ 'subfield_field_default_year': '',
+ 'subfield_field_default_month': '',
+ 'subfield_field_default_day': '',
+ 'subfield_field_default_hour': '',
+ 'subfield_field_default_minute': '',
+ 'subfield_field_start_datetime_year': '',
+ 'subfield_field_start_datetime_month': '',
+ 'subfield_field_start_datetime_day': '',
+ 'subfield_field_start_datetime_hour': '',
+ 'subfield_field_start_datetime_minute': '',
+ 'subfield_field_end_datetime_year': '',
+ 'subfield_field_end_datetime_month': '',
+ 'subfield_field_end_datetime_day': '',
+ 'subfield_field_end_datetime_hour': '',
+ 'subfield_field_end_datetime_minute': '',
+ })
date_field.manage_edit(REQUEST=request)
-
- request.clear()
+
+ request.clear()
+ for key, sub_field in list_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
request.update(default_values)
request.update( {'field_default':'foo',
'field_size':'1',
@@ -288,6 +311,8 @@
list_field.manage_edit(REQUEST=request)
request.clear()
+ for key, sub_field in multi_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
request.update(default_values)
request.update( {'field_default':'foo',
'field_size':'3',
@@ -298,6 +323,8 @@
multi_field.manage_edit(REQUEST=request)
request.clear()
+ for key, sub_field in link_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
request.update(default_values)
request.update( {'field_default':'http://www.absurd.org',
'field_required':'1',
@@ -307,6 +334,8 @@
link_field.manage_edit(REQUEST=request)
request.clear()
+ for key, sub_field in empty_field.form.fields.iteritems():
+ request['field_%s' % key] = sub_field.render_pdf()
request.update(default_values)
request.update( {'field_default':'None',
'field_required':'',
@@ -316,9 +345,9 @@
except ValidationError, e:
self.fail('error when editing field %s; error message: %s' %
(e.field_id, e.error_text) )
-
+
form2 = ZMIForm('test2', 'ValueTest')
-
+
xml = formToXML(form)
XMLToForm(xml, form2)
@@ -335,14 +364,16 @@
request.clear()
request['field_int_field'] = '42'
request['field_float_field'] = '2.71828'
- request['subfield_date_field_month'] = '11'
- request['subfield_date_field_day'] = '11'
- request['subfield_date_field_year'] = '2011'
- request['subfield_date_field_hour'] = '09'
- request['subfield_date_field_minute'] = '59'
+ request['subfield_field_date_field_month'] = '11'
+ request['subfield_field_date_field_day'] = '11'
+ request['subfield_field_date_field_year'] = '2011'
+ request['subfield_field_date_field_hour'] = '09'
+ request['subfield_field_date_field_minute'] = '59'
request['field_list_field'] = 'bar'
request['field_multi_field'] = ['bar', 'baz']
request['field_link_field'] = 'http://www.zope.org'
+ request['default_field_multi_field'] = ''
+ request['field_empty_field'] = ''
try:
result1 = form.validate_all(request)
except FormValidationError, e:
Modified: erp5/trunk/products/Formulator/tests/test_validators.py
URL: http://svn.erp5.org/erp5/trunk/products/Formulator/tests/test_validators.py?rev=26936&r1=26935&r2=26936&view=diff
==============================================================================
--- erp5/trunk/products/Formulator/tests/test_validators.py [utf8] (original)
+++ erp5/trunk/products/Formulator/tests/test_validators.py [utf8] Tue May 12 17:07:17 2009
@@ -1,8 +1,11 @@
+# -*- coding: utf-8 -*-
import unittest
import ZODB
import OFS.Application
from Products.Formulator import Validator
from Products.Formulator.StandardFields import DateTimeField
+from Testing import ZopeTestCase
+ZopeTestCase.installProduct('Formulator')
class TestField:
def __init__(self, id, **kw):
@@ -20,12 +23,15 @@
# XXX fake ... what if installed python does not support utf-8?
return "utf-8"
+ def has_value(self, id):
+ return self.kw.has_key(id)
+
class ValidatorTestCase(unittest.TestCase):
def assertValidatorRaises(self, exception, error_key, f, *args, **kw):
try:
apply(f, args, kw)
- except Validator.ValidationError, e:
- if e.error_key != error_key:
+ except exception, e:
+ if hasattr(e, 'error_key') and e.error_key != error_key:
self.fail('Got wrong error. Expected %s received %s' %
(error_key, e))
else:
@@ -93,7 +99,7 @@
'f', {'f': ' '})
# not in dict
self.assertValidatorRaises(
- Validator.ValidationError, 'required_not_found',
+ Exception, 'required_not_found',
self.v.validate,
TestField('f', max_length=0, truncate=0, required=1, unicode=0),
'f', {})
@@ -174,10 +180,6 @@
result = self.v.validate(
TestField('f'),
'f', {'f': 0})
- self.assertEquals(0, result)
- result = self.v.validate(
- TestField('f'),
- 'f', {})
self.assertEquals(0, result)
class IntegerValidatorTestCase(ValidatorTestCase):
@@ -298,7 +300,7 @@
'f', {'f': ' '})
# not in dict
self.assertValidatorRaises(
- Validator.ValidationError, 'required_not_found',
+ Exception, 'required_not_found',
self.v.validate,
TestField('f', max_length=0, truncate=0, required=1,
start="", end=""),
@@ -311,19 +313,19 @@
def test_basic(self):
result = self.v.validate(
TestField('f', max_length=0, truncate=0,
- required=0),
+ required=0, input_style="-1234.5"),
'f', {'f': '15.5'})
self.assertEqual(15.5, result)
result = self.v.validate(
TestField('f', max_length=0, truncate=0,
- required=0),
+ required=0, input_style="-1234.5"),
'f', {'f': '15.0'})
self.assertEqual(15.0, result)
result = self.v.validate(
TestField('f', max_length=0, truncate=0,
- required=0),
+ required=0, input_style="-1234.5"),
'f', {'f': '15'})
self.assertEqual(15.0, result)
@@ -331,7 +333,8 @@
self.assertValidatorRaises(
Validator.ValidationError, 'not_float',
self.v.validate,
- TestField('f', max_length=0, truncate=0, required=1),
+ TestField('f', max_length=0, truncate=0,
+ required=1, input_style="-1234.5"),
'f', {'f': '1f'})
class DateTimeValidatorTestCase(ValidatorTestCase):
@@ -382,7 +385,7 @@
self.assertEquals(30, result.minute())
self.assertValidatorRaises(
- Validator.ValidationError, 'not_datetime',
+ KeyError, 'not_datetime',
self.v.validate,
DateTimeField('f', ampm_time_style=1),
'f', {'subfield_f_year': '2002',
@@ -418,7 +421,7 @@
def test_allow_empty_time(self):
result = self.v.validate(
- DateTimeField('f', allow_empty_time=1),
+ DateTimeField('f', allow_empty_time=1, date_only=1),
'f', {'subfield_f_year': '2002',
'subfield_f_month': '12',
'subfield_f_day': '1'})
@@ -441,11 +444,6 @@
self.assertEquals(10, result.hour())
self.assertEquals(30, result.minute())
- def test_allow_empty_time2(self):
- result = self.v.validate(
- DateTimeField('f', allow_empty_time=1, required=0), 'f', {})
- self.assertEquals(None, result)
-
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list