summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2017-04-30 00:48:46 +0200
committerAnna Henningsen <anna@addaleax.net>2017-05-03 19:19:05 +0200
commit6c2daf0ce9cffbadf51359ddfb804f5a6107737c (patch)
treec8740466f1e7ff03492b09533a327d07d1c78709 /test
parent9990be2919fb73b2285118a236dc6f7adbdf7cef (diff)
downloadandroid-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.tar.gz
android-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.tar.bz2
android-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.zip
crypto: throw proper errors if out enc is UTF-16
Throw `Error`s instead of hard crashing when the `.digest()` output encoding is UTF-16. Fixes: https://github.com/nodejs/node/issues/9817 PR-URL: https://github.com/nodejs/node/pull/12752 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-crypto-hash.js10
-rw-r--r--test/parallel/test-crypto-hmac.js4
2 files changed, 10 insertions, 4 deletions
diff --git a/test/parallel/test-crypto-hash.js b/test/parallel/test-crypto-hash.js
index 0d55d4236a..28f0f2f303 100644
--- a/test/parallel/test-crypto-hash.js
+++ b/test/parallel/test-crypto-hash.js
@@ -108,10 +108,12 @@ const h3 = crypto.createHash('sha256');
h3.digest();
assert.throws(function() {
h3.digest();
-},
- /Digest already called/);
+}, /Digest already called/);
assert.throws(function() {
h3.update('foo');
-},
- /Digest already called/);
+}, /Digest already called/);
+
+assert.throws(function() {
+ crypto.createHash('sha256').digest('ucs2');
+}, /^Error: hash\.digest\(\) does not support UTF-16$/);
diff --git a/test/parallel/test-crypto-hmac.js b/test/parallel/test-crypto-hmac.js
index a3372bcb72..94c5cefa05 100644
--- a/test/parallel/test-crypto-hmac.js
+++ b/test/parallel/test-crypto-hmac.js
@@ -377,3 +377,7 @@ for (let i = 0, l = rfc2202_sha1.length; i < l; i++) {
`Test HMAC-SHA1 : Test case ${i + 1} rfc 2202`
);
}
+
+assert.throws(function() {
+ crypto.createHmac('sha256', 'w00t').digest('ucs2');
+}, /^Error: hmac\.digest\(\) does not support UTF-16$/);