]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-34839: Add a 'before 3.6' in the section 'warnings' of doctest (GH-9736)
authorStéphane Wirtel <stephane@wirtel.be>
Sat, 20 Oct 2018 08:43:32 +0000 (10:43 +0200)
committerJulien Palard <julien@palard.fr>
Sat, 20 Oct 2018 08:43:32 +0000 (10:43 +0200)
Doc/library/doctest.rst

index 587a0a09a9479116895a001dcd38eb484d580a8a..bc5a4042496728e26480e09c6483e002d391a282 100644 (file)
@@ -759,23 +759,27 @@ Warnings
 :mod:`doctest` is serious about requiring exact matches in expected output.  If
 even a single character doesn't match, the test fails.  This will probably
 surprise you a few times, as you learn exactly what Python does and doesn't
-guarantee about output.  For example, when printing a dict, Python doesn't
-guarantee that the key-value pairs will be printed in any particular order, so a
-test like ::
+guarantee about output.  For example, when printing a set, Python doesn't
+guarantee that the element is printed in any particular order, so a test like ::
 
    >>> foo()
-   {"Hermione": "hippogryph", "Harry": "broomstick"}
+   {"Hermione", "Harry"}
 
 is vulnerable!  One workaround is to do ::
 
-   >>> foo() == {"Hermione": "hippogryph", "Harry": "broomstick"}
+   >>> foo() == {"Hermione", "Harry"}
    True
 
 instead.  Another is to do ::
 
-   >>> d = sorted(foo().items())
+   >>> d = sorted(foo())
    >>> d
-   [('Harry', 'broomstick'), ('Hermione', 'hippogryph')]
+   ['Harry', 'Hermione']
+
+.. note::
+
+    Before Python 3.6, when printing a dict, Python did not guarantee that
+    the key-value pairs was printed in any particular order.
 
 There are others, but you get the idea.