fb5dc6b9b4f7d5736768580e907820259277160c
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / crypto / hmac-generateKey-parseAlgorithm-failures.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../resources/js-test.js"></script>
5 <script src="resources/common.js"></script>
6 </head>
7 <body>
8 <p id="description"></p>
9 <div id="console"></div>
10
11 <script>
12 description("Tests generateKey() with bad HMAC parameters.");
13 jsTestIsAsync = true;
14
15 extractable = true;
16 keyUsages = ['sign', 'verify'];
17
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) {
21     error = result;
22     shouldBeNull("error");
23
24     return crypto.subtle.generateKey({name: 'hmac', hash: {name: ''}, length: 48}, extractable , keyUsages);
25 }).then(failAndFinishJSTest, function(result) {
26     error = result;
27     shouldBeNull("error");
28
29     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: 5000000000}, extractable , keyUsages);
30 }).then(failAndFinishJSTest, function(result) {
31     error = result;
32     shouldBeNull("error");
33
34     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: NaN}, extractable , keyUsages);
35 }).then(failAndFinishJSTest, function(result) {
36     error = result;
37     shouldBeNull("error");
38
39     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: Infinity}, extractable , keyUsages);
40 }).then(failAndFinishJSTest, function(result) {
41     error = result;
42     shouldBeNull("error");
43
44     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: -Infinity}, extractable , keyUsages);
45 }).then(failAndFinishJSTest, function(result) {
46     error = result;
47     shouldBeNull("error");
48
49     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: crypto}, extractable , keyUsages);
50 }).then(failAndFinishJSTest, function(result) {
51     error = result;
52     shouldBeNull("error");
53
54     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: undefined}, extractable , keyUsages);
55 }).then(failAndFinishJSTest, function(result) {
56     error = result;
57     shouldBeNull("error");
58
59     return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256'}, length: true}, extractable , keyUsages);
60 }).then(failAndFinishJSTest, function(result) {
61     error = result;
62     shouldBeNull("error");
63 }).then(finishJSTest, failAndFinishJSTest);
64
65 </script>
66
67 </body>
68 </html>