| Index: LayoutTests/crypto/clone-rsaHashedKey-public.html
 | 
| diff --git a/LayoutTests/crypto/clone-rsaHashedKey-public.html b/LayoutTests/crypto/clone-rsaHashedKey-public.html
 | 
| deleted file mode 100644
 | 
| index db010d2a4d8afb3edf4c066bb9b4bfafac802b25..0000000000000000000000000000000000000000
 | 
| --- a/LayoutTests/crypto/clone-rsaHashedKey-public.html
 | 
| +++ /dev/null
 | 
| @@ -1,100 +0,0 @@
 | 
| -<!DOCTYPE html>
 | 
| -<html>
 | 
| -<head>
 | 
| -<script src="../resources/js-test.js"></script>
 | 
| -<script src="resources/common.js"></script>
 | 
| -<script src="resources/keys.js"></script>
 | 
| -</head>
 | 
| -<body>
 | 
| -<p id="description"></p>
 | 
| -<div id="console"></div>
 | 
| -
 | 
| -<script>
 | 
| -description("Tests structured cloning of RSA public keys (with a hash)");
 | 
| -
 | 
| -jsTestIsAsync = true;
 | 
| -
 | 
| -// Tests the 12 permutations of keys generated by:
 | 
| -//   kPossibleAlgorithms x kPossibleExtractable x kPossibleKeyUsages x kPossibleKeyData x kPossibleHashAlgorithms
 | 
| -//
 | 
| -// For practical reasons these tests are not exhaustive.
 | 
| -
 | 
| -var kPossibleAlgorithms = ['RSASSA-PKCS1-v1_5'];
 | 
| -var kPossibleExtractable = [true, false];
 | 
| -var kPossibleKeyUsages = [[], ['verify']];
 | 
| -var kPossibleHashAlgorithms = ['SHA-1', 'SHA-256', 'SHA-512'];
 | 
| -
 | 
| -var kPossibleKeyData = [
 | 
| -    kKeyData.rsa2,
 | 
| -    kKeyData.rsa3
 | 
| -];
 | 
| -
 | 
| -function runTest(algorithmName, hashName, extractable, keyUsages, keyData)
 | 
| -{
 | 
| -    var importData = hexStringToUint8Array(keyData.spki);
 | 
| -    var importAlgorithm = { name: algorithmName, hash: {name: hashName} };
 | 
| -
 | 
| -    var results = {};
 | 
| -
 | 
| -    return crypto.subtle.importKey('spki', importData, importAlgorithm, extractable, keyUsages).then(function(importedKey) {
 | 
| -        results.importedKey = importedKey;
 | 
| -        importedKey.extraProperty = 'hi';
 | 
| -        return cloneKey(importedKey);
 | 
| -    }).then(function(clonedKey) {
 | 
| -        results.clonedKey = clonedKey;
 | 
| -        if (extractable)
 | 
| -            return crypto.subtle.exportKey('spki', clonedKey);
 | 
| -        return null;
 | 
| -    }).then(function(clonedKeyData) {
 | 
| -        importedKey = results.importedKey;
 | 
| -        clonedKey = results.clonedKey;
 | 
| -
 | 
| -        shouldEvaluateAs("importedKey.extraProperty", "hi");
 | 
| -        shouldEvaluateAs("importedKey.type", "public");
 | 
| -        shouldEvaluateAs("importedKey.extractable", extractable);
 | 
| -        shouldEvaluateAs("importedKey.algorithm.name", algorithmName);
 | 
| -        shouldEvaluateAs("importedKey.algorithm.modulusLength", keyData.modulusLengthBits);
 | 
| -        bytesShouldMatchHexString("importedKey.algorithm.publicExponent", keyData.publicExponent, importedKey.algorithm.publicExponent);
 | 
| -        shouldEvaluateAs("importedKey.algorithm.hash.name", hashName);
 | 
| -        shouldEvaluateAs("importedKey.usages.join(',')", keyUsages.join(","));
 | 
| -
 | 
| -        shouldNotBe("importedKey", "clonedKey");
 | 
| -
 | 
| -        shouldBeUndefined("clonedKey.extraProperty");
 | 
| -        shouldEvaluateAs("clonedKey.type", "public");
 | 
| -        shouldEvaluateAs("clonedKey.extractable", extractable);
 | 
| -        shouldEvaluateAs("clonedKey.algorithm.name", algorithmName);
 | 
| -        shouldEvaluateAs("clonedKey.algorithm.modulusLength", keyData.modulusLengthBits);
 | 
| -        bytesShouldMatchHexString("clonedKey.algorithm.publicExponent", keyData.publicExponent, clonedKey.algorithm.publicExponent);
 | 
| -        shouldEvaluateAs("clonedKey.algorithm.hash.name", hashName);
 | 
| -        shouldEvaluateAs("clonedKey.usages.join(',')", keyUsages.join(","));
 | 
| -
 | 
| -        logSerializedKey(importedKey);
 | 
| -
 | 
| -        if (extractable)
 | 
| -            bytesShouldMatchHexString("Cloned key exported data", keyData.spki, clonedKeyData);
 | 
| -
 | 
| -        debug("");
 | 
| -    });
 | 
| -}
 | 
| -
 | 
| -var lastPromise = Promise.resolve(null);
 | 
| -
 | 
| -kPossibleAlgorithms.forEach(function(algorithmName) {
 | 
| -    kPossibleExtractable.forEach(function(extractable) {
 | 
| -        kPossibleKeyUsages.forEach(function(keyUsages) {
 | 
| -            kPossibleKeyData.forEach(function(keyData) {
 | 
| -                kPossibleHashAlgorithms.forEach(function(hashName) {
 | 
| -                    lastPromise = lastPromise.then(runTest.bind(null, algorithmName, hashName, extractable, keyUsages, keyData));
 | 
| -                });
 | 
| -            });
 | 
| -        });
 | 
| -    });
 | 
| -});
 | 
| -
 | 
| -lastPromise.then(finishJSTest, failAndFinishJSTest);
 | 
| -
 | 
| -</script>
 | 
| -
 | 
| -</body>
 | 
| -</html>
 | 
| 
 |