#7419: Fix a crash on Windows in locale.setlocale() when the category
is outside the allowed range.
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index d9d3cd9..4510409 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -360,6 +360,17 @@
             # test crasher from bug #3303
             self.assertRaises(TypeError, locale.strcoll, u"a", None)
 
+    def test_setlocale_category(self):
+        locale.setlocale(locale.LC_ALL)
+        locale.setlocale(locale.LC_TIME)
+        locale.setlocale(locale.LC_CTYPE)
+        locale.setlocale(locale.LC_COLLATE)
+        locale.setlocale(locale.LC_MONETARY)
+        locale.setlocale(locale.LC_NUMERIC)
+
+        # crasher from bug #7419
+        self.assertRaises(locale.Error, locale.setlocale, 12345)
+
 
 def test_main():
     tests = [