diff --git a/src/ZPublisher/Converters.py b/src/ZPublisher/Converters.py index 1bf82d8bdf..6d4a42e4e9 100644 --- a/src/ZPublisher/Converters.py +++ b/src/ZPublisher/Converters.py @@ -91,7 +91,9 @@ def field2int(v): return int(v) except ValueError: raise ValueError( - "An integer was expected in the value %r" % escape(v, True) + "An integer was expected in the value %r" % escape( + v, quote=True + ) ) raise ValueError('Empty entry when integer expected') diff --git a/src/ZPublisher/tests/test_Converters.py b/src/ZPublisher/tests/test_Converters.py index 991e31d96a..19a84e87c4 100644 --- a/src/ZPublisher/tests/test_Converters.py +++ b/src/ZPublisher/tests/test_Converters.py @@ -54,6 +54,28 @@ def test_field2boolean_with_emtpy_list(self): expected = False self.assertEqual(field2boolean(to_convert), expected) + def test_field2int_with_list_of_numbers(self): + from ZPublisher.Converters import field2int + to_convert = ["1", "2", "3"] + expected = [1, 2, 3] + self.assertEqual(field2int(to_convert), expected) + + def test_field2int_with_regular_number(self): + from ZPublisher.Converters import field2int + to_convert = "1" + expected = 1 + self.assertEqual(field2int(to_convert), expected) + + def test_field2int_with_illegal_value(self): + from ZPublisher.Converters import field2int + to_convert = "<" + self.assertRaises(ValueError, field2int, to_convert) + + def test_field2int_with_empty_value(self): + from ZPublisher.Converters import field2int + to_convert = "" + self.assertRaises(ValueError, field2int, to_convert) + def test_field2string_with_string(self): from ZPublisher.Converters import field2string to_convert = 'to_convert'