From 6e2dd0fa5b79849c3dbd5f9b855e43b634e2a4b3 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Mon, 6 Dec 2010 15:09:03 -0500 Subject: Add new parameter type IA5Str and use this to enforce the right charset. ticket 496 --- tests/test_ipalib/test_parameters.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'tests') diff --git a/tests/test_ipalib/test_parameters.py b/tests/test_ipalib/test_parameters.py index 01cb8f75..996d9af2 100644 --- a/tests/test_ipalib/test_parameters.py +++ b/tests/test_ipalib/test_parameters.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Authors: # Jason Gerard DeRose # @@ -1437,3 +1438,25 @@ def test_messages(): continue assert type(attr.type_error) is str assert attr.type_error in parameters.__messages + + +class test_IA5Str(ClassChecker): + """ + Test the `ipalib.parameters.IA5Str` class. + """ + _cls = parameters.IA5Str + + def test_convert_scalar(self): + """ + Test the `ipalib.parameters.IA5Str._convert_scalar` method. + """ + o = self.cls('my_str') + mthd = o._convert_scalar + for value in (u'Hello', 42, 1.2): + assert mthd(value) == unicode(value) + bad = ['HelloĆ”'] + for value in bad: + e = raises(errors.ConversionError, mthd, value) + assert e.name == 'my_str' + assert e.index is None + assert_equal(e.error, "The character \''\\xc3'\' is not allowed.") -- cgit