diff options
author | makkalot <makkalot@gmail.com> | 2008-06-21 10:41:13 +0300 |
---|---|---|
committer | makkalot <makkalot@gmail.com> | 2008-06-21 10:41:13 +0300 |
commit | 9563511c6d4dbda5a9e2ec053f0765bcc21f5e6f (patch) | |
tree | 88c840bb771f58479c9f892489b062cb51d58dcc | |
parent | c4492f0de8c185da45898865b5c8ca566f01f34f (diff) | |
download | func-9563511c6d4dbda5a9e2ec053f0765bcc21f5e6f.tar.gz func-9563511c6d4dbda5a9e2ec053f0765bcc21f5e6f.tar.xz func-9563511c6d4dbda5a9e2ec053f0765bcc21f5e6f.zip |
adding tests for custom list minion validator
-rw-r--r-- | funcweb/funcweb/tests/test_widget_validation.py | 33 |
1 files changed, 32 insertions, 1 deletions
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]$' + }, + } |