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 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: -3}, extractable , keyUsages);
20 }).then(failAndFinishJSTest, function(result) {
23 return crypto.subtle.generateKey({name: 'hmac', hash: {name: ''}, length: 48}, extractable , keyUsages);
24 }).then(failAndFinishJSTest, function(result) {
27 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: 5000000000}, extractable , keyUsages);
28 }).then(failAndFinishJSTest, function(result) {
31 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: NaN}, extractable , keyUsages);
32 }).then(failAndFinishJSTest, function(result) {
35 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: Infinity}, extractable , keyUsages);
36 }).then(failAndFinishJSTest, function(result) {
39 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: -Infinity}, extractable , keyUsages);
40 }).then(failAndFinishJSTest, function(result) {
43 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: crypto}, extractable , keyUsages);
44 }).then(failAndFinishJSTest, function(result) {
47 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: undefined}, extractable , keyUsages);
48 }).then(failAndFinishJSTest, function(result) {
51 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: true}, extractable , keyUsages);
52 }).then(failAndFinishJSTest, function(result) {
54 }).then(finishJSTest, failAndFinishJSTest);