| OLD | NEW |
| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 chars.push(str.charCodeAt(i)); | 62 chars.push(str.charCodeAt(i)); |
| 63 return new Uint8Array(chars); | 63 return new Uint8Array(chars); |
| 64 } | 64 } |
| 65 | 65 |
| 66 function failAndFinishJSTest(error) | 66 function failAndFinishJSTest(error) |
| 67 { | 67 { |
| 68 testFailed('' + error); | 68 testFailed('' + error); |
| 69 finishJSTest(); | 69 finishJSTest(); |
| 70 } | 70 } |
| 71 | 71 |
| 72 // Returns a Promise for the cloned key. | 72 // FIXME: Delete this and use cloneObject() directly. |
| 73 function cloneKey(key) | 73 function cloneKey(key) |
| 74 { | 74 { |
| 75 return cloneObject(key); |
| 76 } |
| 77 |
| 78 // Returns a Promise for the cloned object. |
| 79 function cloneObject(obj) |
| 80 { |
| 75 // Sending an object through a MessagePort implicitly clones it. | 81 // Sending an object through a MessagePort implicitly clones it. |
| 76 // Use a single MessageChannel so requests complete in FIFO order. | 82 // Use a single MessageChannel so requests complete in FIFO order. |
| 77 var self = cloneKey; | 83 var self = cloneObject; |
| 78 if (!self.channel) { | 84 if (!self.channel) { |
| 79 self.channel = new MessageChannel(); | 85 self.channel = new MessageChannel(); |
| 80 self.callbacks = []; | 86 self.callbacks = []; |
| 81 self.channel.port1.addEventListener('message', function(e) { | 87 self.channel.port1.addEventListener('message', function(e) { |
| 82 var callback = self.callbacks.shift(); | 88 var callback = self.callbacks.shift(); |
| 83 callback(e.data); | 89 callback(e.data); |
| 84 }, false); | 90 }, false); |
| 85 self.channel.port1.start(); | 91 self.channel.port1.start(); |
| 86 } | 92 } |
| 87 | 93 |
| 88 return new Promise(function(resolve, reject) { | 94 return new Promise(function(resolve, reject) { |
| 89 self.callbacks.push(resolve); | 95 self.callbacks.push(resolve); |
| 90 self.channel.port2.postMessage(key); | 96 self.channel.port2.postMessage(obj); |
| 91 }); | 97 }); |
| 92 } | 98 } |
| 93 | 99 |
| 94 // Logging the serialized format ensures that if it changes it will break tests. | 100 // Logging the serialized format ensures that if it changes it will break tests. |
| 95 function logSerializedKey(o) | 101 function logSerializedKey(o) |
| 96 { | 102 { |
| 97 if (internals) { | 103 if (internals) { |
| 98 // Removing the version tag from the output so serialization format chan
ges don't need to update all the crypto tests. | 104 // Removing the version tag from the output so serialization format chan
ges don't need to update all the crypto tests. |
| 99 var serialized = internals.serializeObject(o); | 105 var serialized = internals.serializeObject(o); |
| 100 var serializedWithoutVersion = new Uint8Array(serialized, 2); | 106 var serializedWithoutVersion = new Uint8Array(serialized, 2); |
| 101 debug("Serialized key bytes: " + bytesToHexString(serializedWithoutVersi
on)); | 107 debug("Serialized key bytes: " + bytesToHexString(serializedWithoutVersi
on)); |
| 102 } | 108 } |
| 103 } | 109 } |
| 104 | 110 |
| 105 function shouldEvaluateAs(actual, expectedValue) | 111 function shouldEvaluateAs(actual, expectedValue) |
| 106 { | 112 { |
| 107 if (typeof expectedValue == "string") | 113 if (typeof expectedValue == "string") |
| 108 return shouldBeEqualToString(actual, expectedValue); | 114 return shouldBeEqualToString(actual, expectedValue); |
| 109 return shouldEvaluateTo(actual, expectedValue); | 115 return shouldEvaluateTo(actual, expectedValue); |
| 110 } | 116 } |
| OLD | NEW |