summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-27 22:56:51 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-27 22:56:51 +0000
commit8fbc01ca864df332afe16ed51ea661ae88892d8b (patch)
tree134d6060b28031dbf796aa2157c63c842f17ba6e
parent2984041d00f509b34a6ba7f0f0f79135ba6842a3 (diff)
downloadfreeipa.git-8fbc01ca864df332afe16ed51ea661ae88892d8b.tar.gz
freeipa.git-8fbc01ca864df332afe16ed51ea661ae88892d8b.tar.xz
freeipa.git-8fbc01ca864df332afe16ed51ea661ae88892d8b.zip
206: Finished unit tests for Unicode.__init__()
-rw-r--r--ipalib/tests/test_ipa_types.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/ipalib/tests/test_ipa_types.py b/ipalib/tests/test_ipa_types.py
index 8e4f379f..d78160db 100644
--- a/ipalib/tests/test_ipa_types.py
+++ b/ipalib/tests/test_ipa_types.py
@@ -188,3 +188,34 @@ class test_Unicode(ClassChecker):
kw = {key: value}
e = raises(ValueError, self.cls, **kw)
assert str(e) == '%s must be >= %d, got: %d' % (key, lower, value)
+
+ # Test pattern:
+ okay = [
+ '(hello|world)',
+ u'(take the blue pill|take the red pill)',
+ ]
+ for value in okay:
+ o = self.cls(pattern=value)
+ assert o.pattern is value
+ assert o.regex is not None
+
+ fail = [
+ 42,
+ True,
+ False,
+ object,
+ ]
+ for value in fail:
+ e = raises(TypeError, self.cls, pattern=value)
+ assert str(e) == (
+ 'pattern must be a basestring or None, got: %r' % value
+ )
+
+ # Test regex:
+ pat = '^(hello|world)$'
+ o = self.cls(pattern=pat)
+ for value in ('hello', 'world'):
+ m = o.regex.match(value)
+ assert m.group(1) == value
+ for value in ('hello beautiful', 'world!'):
+ assert o.regex.match(value) is None