#18357: add tests for dictview set difference.  Patch by Fraser Tweedale.
diff --git a/Lib/test/test_dictviews.py b/Lib/test/test_dictviews.py
index b264ff2..30cfb93 100644
--- a/Lib/test/test_dictviews.py
+++ b/Lib/test/test_dictviews.py
@@ -112,6 +112,13 @@
         self.assertEqual(d1.viewkeys() ^ set(d3.viewkeys()),
                          {'a', 'b', 'd', 'e'})
 
+        self.assertEqual(d1.viewkeys() - d1.viewkeys(), set())
+        self.assertEqual(d1.viewkeys() - d2.viewkeys(), {'a'})
+        self.assertEqual(d1.viewkeys() - d3.viewkeys(), {'a', 'b'})
+        self.assertEqual(d1.viewkeys() - set(d1.viewkeys()), set())
+        self.assertEqual(d1.viewkeys() - set(d2.viewkeys()), {'a'})
+        self.assertEqual(d1.viewkeys() - set(d3.viewkeys()), {'a', 'b'})
+
     def test_items_set_operations(self):
         d1 = {'a': 1, 'b': 2}
         d2 = {'a': 2, 'b': 2}
@@ -144,6 +151,14 @@
         self.assertEqual(d1.viewitems() ^ d3.viewitems(),
                          {('a', 1), ('b', 2), ('d', 4), ('e', 5)})
 
+        self.assertEqual(d1.viewitems() - d1.viewitems(), set())
+        self.assertEqual(d1.viewitems() - d2.viewitems(), {('a', 1)})
+        self.assertEqual(d1.viewitems() - d3.viewitems(), {('a', 1), ('b', 2)})
+        self.assertEqual(d1.viewitems() - set(d1.viewitems()), set())
+        self.assertEqual(d1.viewitems() - set(d2.viewitems()), {('a', 1)})
+        self.assertEqual(d1.viewitems() - set(d3.viewitems()),
+                         {('a', 1), ('b', 2)})
+
     def test_recursive_repr(self):
         d = {}
         d[42] = d.viewvalues()
diff --git a/Misc/ACKS b/Misc/ACKS
index 822a523..736887d 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1042,6 +1042,7 @@
 Stephen Turner
 Theodore Turocy
 Bill Tutt
+Fraser Tweedale
 Doobee R. Tzeck
 Eren Türkay
 Lionel Ulmer
diff --git a/Misc/NEWS b/Misc/NEWS
index af3a94b..e5432b6 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -142,6 +142,9 @@
 Tests
 -----
 
+- Issue #18357: add tests for dictview set difference.
+  Patch by Fraser Tweedale.
+
 - Issue #11185: Fix test_wait4 under AIX.  Patch by Sébastien Sablé.
 
 - Issue #18094: test_uuid no more reports skipped tests as passed.