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

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

Issue 212173007: [refactor] Delete unused test code. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Improve logging if tests end with rejection of null Created 6 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // FIXME: Delete this (tests should import their own keys).
2 function importTestKeys()
3 {
4 var data = asciiToUint8Array("16 bytes of key!");
5 var extractable = true;
6 var keyUsages = ['wrapKey', 'unwrapKey', 'encrypt', 'decrypt', 'sign', 'veri fy'];
7
8 var hmacPromise = crypto.subtle.importKey('raw', data, {name: 'hmac', hash: {name: 'sha-1'}}, extractable, keyUsages);
9 var aesCbcPromise = crypto.subtle.importKey('raw', data, {name: 'AES-CBC'}, extractable, keyUsages);
10 var aesCbcJustDecrypt = crypto.subtle.importKey('raw', data, {name: 'AES-CBC '}, false, ['decrypt']);
11 // FIXME: use AES-CTR key type once it's implemented
12 var aesCtrPromise = crypto.subtle.importKey('raw', data, {name: 'AES-CBC'}, extractable, keyUsages);
13 var aesGcmPromise = crypto.subtle.importKey('raw', data, {name: 'AES-GCM'}, extractable, keyUsages);
14 var rsaSsaSha1PublicPromise = crypto.subtle.importKey('spki', hexStringToUin t8Array(kKeyData.rsa1.spki), {name: 'RSASSA-PKCS1-v1_5', hash: {name: 'sha-1'}}, extractable, keyUsages);
15 var rsaSsaSha1PrivatePromise = crypto.subtle.importKey('pkcs8', hexStringToU int8Array(kKeyData.rsa1.pkcs8), {name: 'RSASSA-PKCS1-v1_5', hash: {name: 'sha-1' }}, extractable, keyUsages);
16
17 return Promise.all([hmacPromise, aesCbcPromise, aesCbcJustDecrypt, aesCtrPro mise, aesGcmPromise, rsaSsaSha1PublicPromise, rsaSsaSha1PrivatePromise]).then(fu nction(results) {
18 return {
19 hmacSha1: results[0],
20 aesCbc: results[1],
21 aesCbcJustDecrypt: results[2],
22 aesCtr: results[3],
23 aesGcm: results[4],
24 rsaSsaSha1Public: results[5],
25 rsaSsaSha1Private: results[6],
26 };
27 });
28 }
29
30 // Verifies that the given "bytes" holds the same value as "expectedHexString". 1 // Verifies that the given "bytes" holds the same value as "expectedHexString".
31 // "bytes" can be anything recognized by "bytesToHexString()". 2 // "bytes" can be anything recognized by "bytesToHexString()".
32 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes) 3 function bytesShouldMatchHexString(testDescription, expectedHexString, bytes)
33 { 4 {
34 expectedHexString = "[" + expectedHexString.toLowerCase() + "]"; 5 expectedHexString = "[" + expectedHexString.toLowerCase() + "]";
35 var actualHexString = "[" + bytesToHexString(bytes) + "]"; 6 var actualHexString = "[" + bytesToHexString(bytes) + "]";
36 7
37 if (actualHexString === expectedHexString) { 8 if (actualHexString === expectedHexString) {
38 debug("PASS: " + testDescription + " should be " + expectedHexString + " and was"); 9 debug("PASS: " + testDescription + " should be " + expectedHexString + " and was");
39 } else { 10 } else {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 function asciiToUint8Array(str) 53 function asciiToUint8Array(str)
83 { 54 {
84 var chars = []; 55 var chars = [];
85 for (var i = 0; i < str.length; ++i) 56 for (var i = 0; i < str.length; ++i)
86 chars.push(str.charCodeAt(i)); 57 chars.push(str.charCodeAt(i));
87 return new Uint8Array(chars); 58 return new Uint8Array(chars);
88 } 59 }
89 60
90 function failAndFinishJSTest(error) 61 function failAndFinishJSTest(error)
91 { 62 {
92 if (error) 63 testFailed(error);
93 debug(error);
94 finishJSTest(); 64 finishJSTest();
95 } 65 }
96 66
97 // =====================================================
98 // FIXME: Delete the addTask() functions (better to test results directly)
99 // =====================================================
100
101 numOutstandingTasks = 0;
102
103 function addTask(promise)
104 {
105 numOutstandingTasks++;
106
107 function taskFinished()
108 {
109 numOutstandingTasks--;
110 completeTestWhenAllTasksDone();
111 }
112
113 promise.then(taskFinished, taskFinished);
114 }
115
116 function completeTestWhenAllTasksDone()
117 {
118 if (numOutstandingTasks == 0) {
119 finishJSTest();
120 }
121 }
122
123 function shouldRejectPromiseWithNull(code)
124 {
125 var promise = eval(code);
126
127 function acceptCallback(result)
128 {
129 debug("FAIL: '" + code + "' accepted with " + result + " but should have been rejected");
130 }
131
132 function rejectCallback(result)
133 {
134 if (result == null)
135 debug("PASS: '" + code + "' rejected with null");
136 else
137 debug("FAIL: '" + code + "' rejected with " + result + " but was exp ecting null");
138 }
139
140 addTask(promise.then(acceptCallback, rejectCallback));
141 }
142
143 function shouldAcceptPromise(code)
144 {
145 var promise = eval(code);
146
147 function acceptCallback(result)
148 {
149 debug("PASS: '" + code + "' accepted with " + result);
150 }
151
152 function rejectCallback(result)
153 {
154 debug("FAIL: '" + code + "' rejected with " + result);
155 }
156
157 addTask(promise.then(acceptCallback, rejectCallback));
158 }
159
160 // =====================================================
161
162 // Returns a Promise for the cloned key. 67 // Returns a Promise for the cloned key.
163 function cloneKey(key) 68 function cloneKey(key)
164 { 69 {
165 // Sending an object through a MessagePort implicitly clones it. 70 // Sending an object through a MessagePort implicitly clones it.
166 // Use a single MessageChannel so requests complete in FIFO order. 71 // Use a single MessageChannel so requests complete in FIFO order.
167 var self = cloneKey; 72 var self = cloneKey;
168 if (!self.channel) { 73 if (!self.channel) {
169 self.channel = new MessageChannel(); 74 self.channel = new MessageChannel();
170 self.callbacks = []; 75 self.callbacks = [];
171 self.channel.port1.addEventListener('message', function(e) { 76 self.channel.port1.addEventListener('message', function(e) {
(...skipping 15 matching lines...) Expand all
187 if (internals) 92 if (internals)
188 debug("Serialized key bytes: " + bytesToHexString(internals.serializeObj ect(o))); 93 debug("Serialized key bytes: " + bytesToHexString(internals.serializeObj ect(o)));
189 } 94 }
190 95
191 function shouldEvaluateAs(actual, expectedValue) 96 function shouldEvaluateAs(actual, expectedValue)
192 { 97 {
193 if (typeof expectedValue == "string") 98 if (typeof expectedValue == "string")
194 return shouldBeEqualToString(actual, expectedValue); 99 return shouldBeEqualToString(actual, expectedValue);
195 return shouldEvaluateTo(actual, expectedValue); 100 return shouldEvaluateTo(actual, expectedValue);
196 } 101 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698