Issue19995: issue deprecation warning for non-integer values to %c, %o, %x, %X
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 63883a5..d31838c 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1139,6 +1139,13 @@
                 self.value = float(value)
             def __int__(self):
                 return int(self.value)
+        def check_depr(modifier, value):
+            with support.check_warnings(
+                    ("", DeprecationWarning),
+                    quiet=False,
+                    ):
+                warnings.simplefilter('always')
+                modifier % value
         pi = PsuedoFloat(3.1415)
         letter_m = PsuedoInt(109)
         self.assertEqual('%x' % 42, '2a')
@@ -1149,11 +1156,14 @@
         self.assertEqual('%X' % letter_m, '6D')
         self.assertEqual('%o' % letter_m, '155')
         self.assertEqual('%c' % letter_m, 'm')
-        self.assertRaises(TypeError, '%x'.__mod__, pi)
-        self.assertRaises(TypeError, '%x'.__mod__, 3.14)
-        self.assertRaises(TypeError, '%X'.__mod__, 2.11)
-        self.assertRaises(TypeError, '%o'.__mod__, 1.79)
-        self.assertRaises(TypeError, '%c'.__mod__, pi)
+        for mod, value in (
+                ('%x', pi),
+                ('%x', 3.14),
+                ('%X', 2.11),
+                ('%o', 1.79),
+                ('%c', pi),
+                ):
+            check_depr(mod, value)
 
     def test_formatting_with_enum(self):
         # issue18780