[Python-checkins] cpython: Issue 18532: Added tests and documentation to formally specify the .name
jason.coombs
python-checkins at python.org
Mon Aug 5 08:54:55 CEST 2013
http://hg.python.org/cpython/rev/238c37e4c395
changeset: 85038:238c37e4c395
parent: 85036:f4f81ebc3de9
user: Jason R. Coombs <jaraco at jaraco.com>
date: Sat Aug 03 11:39:39 2013 +0200
summary:
Issue 18532: Added tests and documentation to formally specify the .name attribute on hashlib objects.
files:
Doc/library/hashlib.rst | 12 ++++++++++++
Lib/test/test_hashlib.py | 5 +++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/Doc/library/hashlib.rst b/Doc/library/hashlib.rst
--- a/Doc/library/hashlib.rst
+++ b/Doc/library/hashlib.rst
@@ -124,6 +124,18 @@
The internal block size of the hash algorithm in bytes.
+A hash object has the following attributes:
+
+.. attribute:: hash.name
+
+ The canonical name of this hash, always lowercase and always suitable as a
+ parameter to :func:`new` to create another hash of this type.
+
+ .. versionchanged:: 3.4
+ The name attribute has been present in CPython since its inception, but
+ until Python 3.4 was not formally specified, so may not exist on some
+ platforms.
+
A hash object has the following methods:
diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py
--- a/Lib/test/test_hashlib.py
+++ b/Lib/test/test_hashlib.py
@@ -154,6 +154,11 @@
assert isinstance(h.digest(), bytes), name
self.assertEqual(hexstr(h.digest()), h.hexdigest())
+ def test_name_attribute(self):
+ for cons in self.hash_constructors:
+ h = cons()
+ assert isinstance(h.name, str), "No name attribute"
+ assert h.name in self.supported_hash_names
def test_large_update(self):
aas = b'a' * 128
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list