Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / crypto / aes-cbc-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 AES-CBC parameters.");
13 jsTestIsAsync = true;
14
15 extractable = true;
16 keyUsages = ['encrypt', 'decrypt'];
17
18 Promise.resolve(null).then(function() {
19     // Invalid keyUsages
20     return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, -1);
21 }).then(failAndFinishJSTest, function(result) {
22     logError(result);
23
24     // Invalid keyUsages
25     return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, null);
26 }).then(failAndFinishJSTest, function(result) {
27     logError(result);
28
29     // Bad key usage "boo".
30     return crypto.subtle.generateKey({ name: 'aes-cbc', length: 1024 }, extractable, ['boo']);
31 }).then(failAndFinishJSTest, function(result) {
32     logError(result);
33
34     return crypto.subtle.generateKey({ name: 'aes-cbc' }, extractable, keyUsages);
35 }).then(failAndFinishJSTest, function(result) {
36     logError(result);
37
38     return crypto.subtle.generateKey({ name: 'aes-cbc', length: 70000 }, extractable, keyUsages);
39 }).then(failAndFinishJSTest, function(result) {
40     logError(result);
41
42     return crypto.subtle.generateKey({ name: 'aes-cbc', length: -3 }, extractable, keyUsages);
43 }).then(failAndFinishJSTest, function(result) {
44     logError(result);
45
46     return crypto.subtle.generateKey({ name: 'aes-cbc', length: -Infinity }, extractable, keyUsages);
47 }).then(failAndFinishJSTest, function(result) {
48     logError(result);
49 }).then(finishJSTest, failAndFinishJSTest);
50
51 </script>
52
53 </body>
54 </html>