[WebCrypto] Move cloneKey test to respective algorithm directory

Creates a cloneKey.js per algorithm classes (symmetric/RSA/EC), which is called by each algorithm falling in respective class.
- In symmetric-cloneKey.js, hashing and length are extra parameter which are present for HMAC and for HMAC/AES algorithm respectively. They have been handled via if case.
- In ec-cloneKey.js, EC specific return values are checked. Similarly for RSA-cloneKey.js handles RSA specific return values.
- Tests iterates for each particular algorithm depending on the extractable, key usage,  algorithm parameters(i.e. hashing algorithm, named curve) and key data.

The input data is present in the test file. HMAC has 8/64/88/128 bit data test. Similar for PBKDF2 & HKDF but also includes empty bit data test.

Old files that has been updated:
- clone-aesKey.html has been split in AES-CBC and AES-GCM. There were no cloneKey tests for AES-CTR and AES-KW, they have been added.
- clone-ecKey-private/public has been split into ECDH and ECDSA. ECDH public test was missing, and has been added.
- clone-hkdf and clone-pbkdf2, has been moved to HKDF and PBKDF2 respective directories.
- clone-rsaHashedKey, holds tests only for RSASSA-PKCS1, tests has been  moved to the algorithm directory.

BUG=452269
R=eroman

Review URL: https://codereview.chromium.org/958353003

git-svn-id: svn://svn.chromium.org/blink/trunk@191772 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index f125f372..60a13c8 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -668,27 +668,28 @@
 #
 # These issue will be resolved once Linux switches to BoringSSL
 # (http://crbug.com/338887).
+crbug.com/338887 [ Linux ] crypto/subtle/aes-ctr/cloneKey.html [ Failure Pass ]
 crbug.com/382732 [ Linux ] crypto/subtle/rsa-oaep/generate-non-extractable-key.html [ Failure Pass ]
 crbug.com/382732 [ Linux ] crypto/subtle/rsa-oaep/key-manipulation.html [ Failure Pass ]
 crbug.com/382732 [ Linux ] crypto/subtle/rsa-oaep/plaintext-length.html [ Failure Pass ]
 crbug.com/382732 [ Linux ] crypto/subtle/rsa-oaep/wrap-unwrap-aes.html [ Failure Pass ]
-crbug.com/378315 [ Linux ] crypto/subtle/clone-rsaHashedKey-private.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/exportKey-unextractable.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsa-export-private-key.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsa-indexeddb.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsa-oaep/encrypt-failures.html [ Failure Pass ]
+crbug.com/378315 [ Linux ] crypto/subtle/rsassa-pkcs1-v1_5/cloneKey.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsassa-pkcs1-v1_5/import-jwk-small-key.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsassa-pkcs1-v1_5/import-jwk.html [ Failure Pass ]
 crbug.com/378315 [ Linux ] crypto/subtle/rsassa-pkcs1-v1_5/sign-verify.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/rsa-pss/verify.html [ Failure Pass ]
-crbug.com/338883 [ Linux ] crypto/subtle/clone-ecKey-private.html [ Failure Pass ]
-crbug.com/338883 [ Linux ] crypto/subtle/clone-ecKey-public.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ec-export-private-key.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ec-export-public-key.html [ Failure Pass ]
+crbug.com/338883 [ Linux ] crypto/subtle/ecdsa/cloneKey.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdsa/generate-key.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdsa/generateKey-failures.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdsa/import-jwk.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdsa/sign-verify.html [ Failure Pass ]
+crbug.com/338883 [ Linux ] crypto/subtle/ecdh/cloneKey.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/deriveBits-failures.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/deriveBits.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/generate-key.html [ Failure Pass ]
@@ -696,8 +697,8 @@
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/deriveKey-aes.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/deriveKey-failures.html [ Failure Pass ]
 crbug.com/338883 [ Linux ] crypto/subtle/ecdh/deriveKey-hmac.html [ Failure Pass ]
-crbug.com/338887 [ Linux ] crypto/subtle/clone-hkdfKey.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/derive-hkdf-keys.html [ Failure Pass ]
+crbug.com/338887 [ Linux ] crypto/subtle/hkdf/cloneKey.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/deriveBits-failures.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/deriveBits.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/deriveBits-rfc5869-test-vectors.html [ Failure Pass ]
@@ -705,7 +706,7 @@
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/exportKey.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/importKey-failures.html [ Failure Pass ]
 crbug.com/338887 [ Linux ] crypto/subtle/hkdf/unwrapKey.html [ Failure Pass ]
-crbug.com/399099 [ Linux ] crypto/subtle/clone-pbkdf2Key.html [ Failure Pass ]
+crbug.com/399099 [ Linux ] crypto/subtle/pbkdf2/cloneKey.html [ Failure Pass ]
 crbug.com/399099 [ Linux ] crypto/subtle/pbkdf2/deriveBits.html [ Failure Pass ]
 crbug.com/399099 [ Linux ] crypto/subtle/pbkdf2/deriveBits-failures.html [ Failure Pass ]
 crbug.com/399099 [ Linux ] crypto/subtle/pbkdf2/deriveBits-rfc6070-test-vectors.html [ Failure Pass ]