4 <script src=
"../../../resources/js-test.js"></script>
5 <script src=
"../resources/common.js"></script>
8 <p id=
"description"></p>
9 <div id=
"console"></div>
12 description("Tests generateKey() with bad HMAC parameters.");
16 keyUsages
= ['sign', 'verify'];
18 Promise
.resolve(null).then(function() {
19 debug("\ngenerateKey() with a length of -3...");
20 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: -3}, extractable
, keyUsages
);
21 }).then(failAndFinishJSTest
, function(result
) {
24 debug("\ngenerateKey() with hash name empty string...");
25 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: ''}, length
: 48}, extractable
, keyUsages
);
26 }).then(failAndFinishJSTest
, function(result
) {
29 debug("\ngenerateKey() with a length of 5000000000 ...");
30 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: 5000000000}, extractable
, keyUsages
);
31 }).then(failAndFinishJSTest
, function(result
) {
34 debug("\ngenerateKey() with length NaN...");
35 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: NaN
}, extractable
, keyUsages
);
36 }).then(failAndFinishJSTest
, function(result
) {
39 debug("\ngenerateKey() with length that is Infinity...");
40 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: Infinity
}, extractable
, keyUsages
);
41 }).then(failAndFinishJSTest
, function(result
) {
44 debug("\ngenerateKey() with length that is minus Infinity...");
45 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: -Infinity
}, extractable
, keyUsages
);
46 }).then(failAndFinishJSTest
, function(result
) {
49 debug("\ngenerateKey() with length that is a string...");
50 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: crypto
}, extractable
, keyUsages
);
51 }).then(failAndFinishJSTest
, function(result
) {
54 debug("\ngenerateKey() with length that is a undefined...");
55 return crypto
.subtle
.generateKey({name
: 'hmac', hash
: {name
: 'sha-256'}, length
: undefined}, extractable
, keyUsages
);
56 }).then(failAndFinishJSTest
, function(result
) {
58 }).then(finishJSTest
, failAndFinishJSTest
);