Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1571)

Side by Side Diff: LayoutTests/crypto/resources/common.js

Issue 298023002: [webcrypto] Import WebKit's webcrypto tests. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove FIXME for unrecognized jwk usages (supported now) Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 function logError(error) 1 function logError(error)
2 { 2 {
3 debug("error is: " + error.toString()); 3 debug("error is: " + error.toString());
4 } 4 }
5 5
6 // Verifies that the given "bytes" holds the same value as "expectedHexString". 6 // Verifies that the given "bytes" holds the same value as "expectedHexString".
7 // "bytes" can be anything recognized by "bytesToHexString()". 7 // "bytes" can be anything recognized by "bytesToHexString()".
8 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes) 8 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes)
9 { 9 {
10 expectedHexString = "[" + expectedHexString.toLowerCase() + "]"; 10 expectedHexString = "[" + expectedHexString.toLowerCase() + "]";
(...skipping 21 matching lines...) Expand all
32 for (var i = 0; i < bytes.length; ++i) { 32 for (var i = 0; i < bytes.length; ++i) {
33 var byteString = bytes[i].toString(16); 33 var byteString = bytes[i].toString(16);
34 if (byteString.length < 2) 34 if (byteString.length < 2)
35 byteString = "0" + byteString; 35 byteString = "0" + byteString;
36 hexBytes.push(byteString); 36 hexBytes.push(byteString);
37 } 37 }
38 38
39 return hexBytes.join(""); 39 return hexBytes.join("");
40 } 40 }
41 41
42 function bytesToASCIIString(bytes)
43 {
44 return String.fromCharCode.apply(null, new Uint8Array(bytes));
45 }
46
42 function hexStringToUint8Array(hexString) 47 function hexStringToUint8Array(hexString)
43 { 48 {
44 if (hexString.length % 2 != 0) 49 if (hexString.length % 2 != 0)
45 throw "Invalid hexString"; 50 throw "Invalid hexString";
46 var arrayBuffer = new Uint8Array(hexString.length / 2); 51 var arrayBuffer = new Uint8Array(hexString.length / 2);
47 52
48 for (var i = 0; i < hexString.length; i += 2) { 53 for (var i = 0; i < hexString.length; i += 2) {
49 var byteValue = parseInt(hexString.substr(i, 2), 16); 54 var byteValue = parseInt(hexString.substr(i, 2), 16);
50 if (byteValue == NaN) 55 if (byteValue == NaN)
51 throw "Invalid hexString"; 56 throw "Invalid hexString";
52 arrayBuffer[i/2] = byteValue; 57 arrayBuffer[i/2] = byteValue;
53 } 58 }
54 59
55 return arrayBuffer; 60 return arrayBuffer;
56 } 61 }
57 62
58 function asciiToUint8Array(str) 63 function asciiToUint8Array(str)
59 { 64 {
60 var chars = []; 65 var chars = [];
61 for (var i = 0; i < str.length; ++i) 66 for (var i = 0; i < str.length; ++i)
62 chars.push(str.charCodeAt(i)); 67 chars.push(str.charCodeAt(i));
63 return new Uint8Array(chars); 68 return new Uint8Array(chars);
64 } 69 }
65 70
71 var Base64URL = {
72 stringify: function (a) {
73 var base64string = btoa(String.fromCharCode.apply(0, a));
74 return base64string.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
75 },
76 parse: function (s) {
77 s = s.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, '');
78 return new Uint8Array(Array.prototype.map.call(atob(s), function (c) { r eturn c.charCodeAt(0) }));
79 }
80 };
81
66 function failAndFinishJSTest(error) 82 function failAndFinishJSTest(error)
67 { 83 {
68 testFailed('' + error); 84 testFailed('' + error);
69 finishJSTest(); 85 finishJSTest();
70 } 86 }
71 87
72 // Returns a Promise for the cloned key. 88 // Returns a Promise for the cloned key.
73 function cloneKey(key) 89 function cloneKey(key)
74 { 90 {
75 // Sending an object through a MessagePort implicitly clones it. 91 // Sending an object through a MessagePort implicitly clones it.
(...skipping 25 matching lines...) Expand all
101 debug("Serialized key bytes: " + bytesToHexString(serializedWithoutVersi on)); 117 debug("Serialized key bytes: " + bytesToHexString(serializedWithoutVersi on));
102 } 118 }
103 } 119 }
104 120
105 function shouldEvaluateAs(actual, expectedValue) 121 function shouldEvaluateAs(actual, expectedValue)
106 { 122 {
107 if (typeof expectedValue == "string") 123 if (typeof expectedValue == "string")
108 return shouldBeEqualToString(actual, expectedValue); 124 return shouldBeEqualToString(actual, expectedValue);
109 return shouldEvaluateTo(actual, expectedValue); 125 return shouldEvaluateTo(actual, expectedValue);
110 } 126 }
OLDNEW
« no previous file with comments | « LayoutTests/crypto/jwk-import-use-values-expected.txt ('k') | LayoutTests/crypto/rsa-export-key.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698