Add tests for secure-hash and improve doc string (Bug#37420)
* src/fns.c (Fsecure_hash_algorithms): Fix typo. (Fsecure_hash): Add algorithm list to doc string. * test/src/fns-tests.el (test-secure-hash): New test.
This commit is contained in:
parent
dd3592564a
commit
ef8fadf8c1
2 changed files with 25 additions and 2 deletions
|
@ -5081,7 +5081,7 @@ make_digest_string (Lisp_Object digest, int digest_size)
|
|||
|
||||
DEFUN ("secure-hash-algorithms", Fsecure_hash_algorithms,
|
||||
Ssecure_hash_algorithms, 0, 0, 0,
|
||||
doc: /* Return a list of all the supported `secure_hash' algorithms. */)
|
||||
doc: /* Return a list of all the supported `secure-hash' algorithms. */)
|
||||
(void)
|
||||
{
|
||||
return list (Qmd5, Qsha1, Qsha224, Qsha256, Qsha384, Qsha512);
|
||||
|
@ -5388,7 +5388,12 @@ anything security-related. See `secure-hash' for alternatives. */)
|
|||
DEFUN ("secure-hash", Fsecure_hash, Ssecure_hash, 2, 5, 0,
|
||||
doc: /* Return the secure hash of OBJECT, a buffer or string.
|
||||
ALGORITHM is a symbol specifying the hash to use:
|
||||
md5, sha1, sha224, sha256, sha384 or sha512.
|
||||
- md5 corresponds to MD5
|
||||
- sha1 corresponds to SHA-1
|
||||
- sha224 corresponds to SHA-2 (SHA-224)
|
||||
- sha256 corresponds to SHA-2 (SHA-256)
|
||||
- sha384 corresponds to SHA-2 (SHA-384)
|
||||
- sha512 corresponds to SHA-2 (SHA-512)
|
||||
|
||||
The two optional arguments START and END are positions specifying for
|
||||
which part of OBJECT to compute the hash. If nil or omitted, uses the
|
||||
|
|
|
@ -858,4 +858,22 @@
|
|||
(puthash k k h)))
|
||||
(should (= 100 (hash-table-count h)))))
|
||||
|
||||
(ert-deftest test-secure-hash ()
|
||||
(should (equal (secure-hash 'md5 "foobar")
|
||||
"3858f62230ac3c915f300c664312c63f"))
|
||||
(should (equal (secure-hash 'sha1 "foobar")
|
||||
"8843d7f92416211de9ebb963ff4ce28125932878"))
|
||||
(should (equal (secure-hash 'sha224 "foobar")
|
||||
"de76c3e567fca9d246f5f8d3b2e704a38c3c5e258988ab525f941db8"))
|
||||
(should (equal (secure-hash 'sha256 "foobar")
|
||||
(concat "c3ab8ff13720e8ad9047dd39466b3c89"
|
||||
"74e592c2fa383d4a3960714caef0c4f2")))
|
||||
(should (equal (secure-hash 'sha384 "foobar")
|
||||
(concat "3c9c30d9f665e74d515c842960d4a451c83a0125fd3de739"
|
||||
"2d7b37231af10c72ea58aedfcdf89a5765bf902af93ecf06")))
|
||||
(should (equal (secure-hash 'sha512 "foobar")
|
||||
(concat "0a50261ebd1a390fed2bf326f2673c145582a6342d5"
|
||||
"23204973d0219337f81616a8069b012587cf5635f69"
|
||||
"25f1b56c360230c19b273500ee013e030601bf2425"))))
|
||||
|
||||
(provide 'fns-tests)
|
||||
|
|
Loading…
Add table
Reference in a new issue