Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / crypto / exportKey-badParameters.html
index 638d8b4..2ea3e0d 100644 (file)
@@ -13,10 +13,6 @@ description("Tests exportKey() given bad inputs.");
 
 jsTestIsAsync = true;
 
-// Not keys
-shouldThrow("crypto.subtle.exportKey('raw', null)");
-shouldThrow("crypto.subtle.exportKey('raw', 3)");
-
 function importAesKey()
 {
     var keyData = new Uint8Array(16);
@@ -27,26 +23,35 @@ function importAesKey()
     return crypto.subtle.importKey('raw', keyData, algorithm, extractable, usages);
 }
 
-importAesKey().then(function(result) {
+Promise.resolve(null).then(function(result) {
+    // null is not a valid Key.
+    return crypto.subtle.exportKey('raw', null);
+}).then(failAndFinishJSTest, function(result) {
+    logError(result);
+
+    // 3 is not a valid Key.
+    return crypto.subtle.exportKey('raw', 3);
+}).then(failAndFinishJSTest, function(result) {
+    logError(result);
+
+    return importAesKey();
+}).then(function(result) {
     key = result;
 
     // Invalid export format
     return crypto.subtle.exportKey(3, key);
 }).then(failAndFinishJSTest, function(result) {
-    error = result;
-    shouldBeNull("error");
+    logError(result);
 
     // Invalid export format
     return crypto.subtle.exportKey(null, key);
 }).then(failAndFinishJSTest, function(result) {
-    error = result;
-    shouldBeNull("error");
+    logError(result);
 
     // Invalid export format
     return crypto.subtle.exportKey('invalid', key);
 }).then(failAndFinishJSTest, function(result) {
-    error = result;
-    shouldBeNull("error");
+    logError(result);
 }).then(finishJSTest, failAndFinishJSTest);
 
 </script>