bpo-40889: Optimize dict.items() ^ dict.items() (GH-20718)

diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 6b8596f..5c08810 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -697,6 +697,16 @@
         self.assertEqual(k1 ^ k2, {(3,3)})
         self.assertEqual(k1 ^ k3, {(1,1), (2,2), (4,4)})
 
+    def test_items_symmetric_difference(self):
+        rr = random.randrange
+        for _ in range(100):
+            left = {x:rr(3) for x in range(20) if rr(2)}
+            right = {x:rr(3) for x in range(20) if rr(2)}
+            with self.subTest(left=left, right=right):
+                expected = set(left.items()) ^ set(right.items())
+                actual = left.items() ^ right.items()
+                self.assertEqual(actual, expected)
+
     def test_dictview_mixed_set_operations(self):
         # Just a few for .keys()
         self.assertTrue({1:1}.keys() == {1})