MCPcopy Index your code
hub / github.com/nodejs/node / define_tests

Function define_tests

test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/argon2.js:1–71  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1function define_tests() {
2 var subtle = self.crypto.subtle;
3
4 var testData = getTestData();
5 var testVectors = testData.testVectors;
6
7 return setUpBaseKeys().then(function (allKeys) {
8 var baseKeys = allKeys.baseKeys;
9
10 testVectors.forEach(function (vector) {
11 var algorithmName = vector.algorithm;
12 var params = vector.params;
13 var expected = vector.expected;
14
15 var testName = algorithmName + ' deriveBits';
16
17 // Test deriveBits
18 subsetTest(
19 promise_test,
20 function (test) {
21 var algorithm = Object.assign({ name: algorithmName }, params);
22 return subtle
23 .deriveBits(algorithm, baseKeys[algorithmName], 256)
24 .then(
25 function (derivation) {
26 assert_true(
27 equalBuffers(derivation, expected),
28 'Derived correct key'
29 );
30 },
31 function (err) {
32 assert_unreached(
33 'deriveBits failed with error ' +
34 err.name +
35 ': ' +
36 err.message
37 );
38 }
39 );
40 },
41 testName
42 );
43 });
44 });
45
46 function setUpBaseKeys() {
47 var promises = [];
48 var baseKeys = {};
49
50 testVectors.forEach(function (vector) {
51 var algorithmName = vector.algorithm;
52 var password = vector.password;
53
54 promises.push(
55 subtle
56 .importKey('raw-secret', password, algorithmName, false, [
57 'deriveBits',
58 ])
59 .then(function (key) {
60 baseKeys[algorithmName] = key;

Callers

nothing calls this directly

Calls 9

subsetTestFunction · 0.85
equalBuffersFunction · 0.85
assignMethod · 0.80
getTestDataFunction · 0.70
setUpBaseKeysFunction · 0.70
forEachMethod · 0.65
assert_trueFunction · 0.50
assert_unreachedFunction · 0.50
thenMethod · 0.45

Tested by

no test coverage detected