bpo-27145: small_ints[x] could be returned in long_add and long_sub (GH-15716)

diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 53101b3..7ce37e8 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -956,6 +956,14 @@
         self.assertEqual(huge >> (sys.maxsize + 1), (1 << 499) + 5)
         self.assertEqual(huge >> (sys.maxsize + 1000), 0)
 
+    @support.cpython_only
+    def test_small_ints_in_huge_calculation(self):
+        a = 2 ** 100
+        b = -a + 1
+        c = a + 1
+        self.assertIs(a + b, 1)
+        self.assertIs(c - a, 1)
+
     def test_small_ints(self):
         for i in range(-5, 257):
             self.assertIs(i, i + 0)