summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/unittest.rst39
-rw-r--r--Doc/whatsnew/2.7.rst2
-rw-r--r--Lib/test/test_cgi.py2
-rwxr-xr-xTools/scripts/reindent-rst.py2
4 files changed, 32 insertions, 13 deletions
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 4671f8a..5ed75d5 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -785,7 +785,7 @@ Test cases
will be included in the error message. This method is used by default
when comparing strings with :meth:`assertEqual`.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -806,7 +806,7 @@ Test cases
Tests that *first* is or is not in *second* with an explanatory error
message as appropriate.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -819,12 +819,31 @@ Test cases
Duplicate elements are ignored when comparing *actual* and *expected*.
It is the equivalent of ``assertEqual(set(expected), set(actual))``
- but it works with sequences of unhashable objects as well.
+ but it works with sequences of unhashable objects as well. Because
+ duplicates are ignored, this method has been deprecated in favour of
+ :meth:`assertItemsEqual`.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
+ .. deprecated:: 3.2
+
+ .. method:: assertItemsEqual(actual, expected, msg=None)
+
+ Test that sequence *expected* contains the same elements as *actual*,
+ regardless of their order. When they don't, an error message listing the
+ differences between the sequences will be generated.
+
+ Duplicate elements are *not* ignored when comparing *actual* and
+ *expected*. It verifies if each element has the same count in both
+ sequences. It is the equivalent of ``assertEqual(sorted(expected),
+ sorted(actual))`` but it works with sequences of unhashable objects as
+ well.
+
+ If specified, *msg* will be used as the error message on failure.
+
+ .. versionadded:: 3.2
.. method:: assertSetEqual(set1, set2, msg=None)
@@ -835,7 +854,7 @@ Test cases
Fails if either of *set1* or *set2* does not have a :meth:`set.difference`
method.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -847,7 +866,7 @@ Test cases
method will be used by default to compare dictionaries in
calls to :meth:`assertEqual`.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -858,7 +877,7 @@ Test cases
superset of those in *expected*. If not, an error message listing
the missing keys and mismatched values is generated.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -872,7 +891,7 @@ Test cases
These methods are used by default when comparing lists or tuples with
:meth:`assertEqual`.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
.. versionadded:: 3.1
@@ -884,7 +903,7 @@ Test cases
be raised. If the sequences are different an error message is
constructed that shows the difference between the two.
- If specified *msg* will be used as the error message on failure.
+ If specified, *msg* will be used as the error message on failure.
This method is used to implement :meth:`assertListEqual` and
:meth:`assertTupleEqual`.
@@ -1225,7 +1244,7 @@ Loading and running tests
:class:`TestLoader` objects have the following methods:
-
+a
.. method:: loadTestsFromTestCase(testCaseClass)
Return a suite of all tests cases contained in the :class:`TestCase`\ -derived
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index fbc1b3e..05fe385 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -960,7 +960,7 @@ GvR worked on merging them into Python's version of :mod:`unittest`.
* :meth:`assertIn` and :meth:`assertNotIn` tests whether
*first* is or is not in *second*.
-* :meth:`assertSameElements` tests whether two provided sequences
+* :meth:`assertItemsEqual` tests whether two provided sequences
contain the same elements.
* :meth:`assertSetEqual` compares whether two sets are equal, and
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 4fca2ed..fc84214 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -131,7 +131,7 @@ class CgiTests(unittest.TestCase):
if isinstance(expect, dict):
# test dict interface
self.assertEqual(len(expect), len(fs))
- self.assertEqual(norm(expect.keys()), norm(fs.keys()))
+ self.assertItemsEqual(expect.keys(), fs.keys())
##self.assertEqual(norm(expect.values()), norm(fs.values()))
##self.assertEqual(norm(expect.items()), norm(fs.items()))
self.assertEqual(fs.getvalue("nonexistent field", "default"), "default")
diff --git a/Tools/scripts/reindent-rst.py b/Tools/scripts/reindent-rst.py
index 246af3e..55b99eb 100755
--- a/Tools/scripts/reindent-rst.py
+++ b/Tools/scripts/reindent-rst.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
# Make a reST file compliant to our pre-commit hook.
# Currently just remove trailing whitespace.