From 9563511c6d4dbda5a9e2ec053f0765bcc21f5e6f Mon Sep 17 00:00:00 2001 From: makkalot Date: Sat, 21 Jun 2008 10:41:13 +0300 Subject: adding tests for custom list minion validator --- funcweb/funcweb/tests/test_widget_validation.py | 33 ++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/funcweb/funcweb/tests/test_widget_validation.py b/funcweb/funcweb/tests/test_widget_validation.py index fa7fdb5..94a3d1e 100644 --- a/funcweb/funcweb/tests/test_widget_validation.py +++ b/funcweb/funcweb/tests/test_widget_validation.py @@ -1,7 +1,7 @@ import unittest import turbogears from turbogears import testutil -from funcweb.widget_validation import WidgetSchemaFactory,MinionIntValidator,MinionFloatValidator +from funcweb.widget_validation import WidgetSchemaFactory,MinionIntValidator,MinionFloatValidator,MinionListValidator from turbogears import validators class TestWidgetValidator(unittest.TestCase): @@ -129,6 +129,21 @@ class TestWidgetValidator(unittest.TestCase): assert mv.to_python(14.0)==14.0 self.assertRaises(validators.Invalid,mv.to_python,'some_string') + def test_minion_list_validator(self): + + #test default + mv = MinionListValidator() + assert mv.to_python(['fedora','debian','others']) == ['fedora','debian','others'] + del mv + + #test with regex + mv = MinionListValidator(regex_string='^[A-Z]+$',not_empty=True) + assert mv.to_python(['FEDORA','MACOSX']) == ['FEDORA','MACOSX'] + self.assertRaises(validators.Invalid,mv.to_python,[]) + self.assertRaises(validators.Invalid,mv.to_python,['hey_error']) + + + print "Happy testing !" def get_string_params(self): return { @@ -198,6 +213,22 @@ class TestWidgetValidator(unittest.TestCase): 'min':5.0 }, } + + def get_list_params(self): + return { + 'list_default':{ + 'type':'list', + 'default':'cooler', + 'description':'default list' + }, + 'list_regex':{ + 'type':'list', + 'default':'hey', + 'optional':False, + 'description':'default regex list', + 'validator':'^[A-Z]$' + }, + } -- cgit