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)