import validators import htmlview import schema from testcase import TestCase import declarative class State(declarative.Declarative): pass class TestAdapt(TestCase): def testAdapt(self): field = htmlview.SecureHidden(secretKey='shh') validator = validators.Int(view=field) for state in [None, State(protocol=None), State(protocol='http')]: v = validators.adaptValidator(validator, state, expandView=True) assert isinstance(v, validators.All), "Not All: %r" % v assert len(v.validators) == 2, 'Not len==2: %s' % v.validators self.assertEqual(v.validators[0], field.validator) self.assertEqual(v.validators[1], validator) v = validators.adaptValidator(validator, State(protocol='other'), expandView=True) self.assertEqual(v, validator)