mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005'
This commit is contained in:
parent
ace9b32b1c
commit
df68c4e5d1
15632 changed files with 514865 additions and 155000 deletions
|
@ -20,7 +20,11 @@ var registeredAlgorithmNames = [
|
|||
"SHA-384",
|
||||
"SHA-512",
|
||||
"HKDF-CTR",
|
||||
"PBKDF2"
|
||||
"PBKDF2",
|
||||
"Ed25519",
|
||||
"Ed448",
|
||||
"X25519",
|
||||
"X448"
|
||||
];
|
||||
|
||||
|
||||
|
@ -106,7 +110,22 @@ function assert_goodCryptoKey(key, algorithm, extractable, usages, kind) {
|
|||
assert_equals(key.extractable, extractable, "Extractability is correct");
|
||||
|
||||
assert_equals(key.algorithm.name, registeredAlgorithmName, "Correct algorithm name");
|
||||
assert_equals(key.algorithm.length, algorithm.length, "Correct length");
|
||||
if (key.algorithm.name.toUpperCase() === "HMAC" && algorithm.length === undefined) {
|
||||
switch (key.algorithm.hash.name.toUpperCase()) {
|
||||
case 'SHA-1':
|
||||
case 'SHA-256':
|
||||
assert_equals(key.algorithm.length, 512, "Correct length");
|
||||
break;
|
||||
case 'SHA-384':
|
||||
case 'SHA-512':
|
||||
assert_equals(key.algorithm.length, 1024, "Correct length");
|
||||
break;
|
||||
default:
|
||||
assert_unreached("Unrecognized hash");
|
||||
}
|
||||
} else {
|
||||
assert_equals(key.algorithm.length, algorithm.length, "Correct length");
|
||||
}
|
||||
if (["HMAC", "RSASSA-PKCS1-v1_5", "RSA-PSS"].includes(registeredAlgorithmName)) {
|
||||
assert_equals(key.algorithm.hash.name.toUpperCase(), algorithm.hash.toUpperCase(), "Correct hash function");
|
||||
}
|
||||
|
@ -162,12 +181,16 @@ function allAlgorithmSpecifiersFor(algorithmName) {
|
|||
});
|
||||
} else if (algorithmName.toUpperCase() === "HMAC") {
|
||||
[
|
||||
{name: "SHA-1", length: 160},
|
||||
{name: "SHA-256", length: 256},
|
||||
{name: "SHA-384", length: 384},
|
||||
{name: "SHA-512", length: 512}
|
||||
{hash: "SHA-1", length: 160},
|
||||
{hash: "SHA-256", length: 256},
|
||||
{hash: "SHA-384", length: 384},
|
||||
{hash: "SHA-512", length: 512},
|
||||
{hash: "SHA-1"},
|
||||
{hash: "SHA-256"},
|
||||
{hash: "SHA-384"},
|
||||
{hash: "SHA-512"},
|
||||
].forEach(function(hashAlgorithm) {
|
||||
results.push({name: algorithmName, hash: hashAlgorithm.name, length: hashAlgorithm.length});
|
||||
results.push({name: algorithmName, ...hashAlgorithm});
|
||||
});
|
||||
} else if (algorithmName.toUpperCase().substring(0, 3) === "RSA") {
|
||||
hashes.forEach(function(hashName) {
|
||||
|
@ -177,6 +200,8 @@ function allAlgorithmSpecifiersFor(algorithmName) {
|
|||
curves.forEach(function(curveName) {
|
||||
results.push({name: algorithmName, namedCurve: curveName});
|
||||
});
|
||||
} else if (algorithmName.toUpperCase().substring(0, 1) === "X" || algorithmName.toUpperCase().substring(0, 2) === "ED") {
|
||||
results.push({ name: algorithmName });
|
||||
}
|
||||
|
||||
return results;
|
||||
|
@ -216,6 +241,9 @@ function allValidUsages(validUsages, emptyIsValid, mandatoryUsages) {
|
|||
return okaySubsets;
|
||||
}
|
||||
|
||||
function unique(names) {
|
||||
return [...new Set(names)];
|
||||
}
|
||||
|
||||
// Algorithm name specifiers are case-insensitive. Generate several
|
||||
// case variations of a given name.
|
||||
|
@ -227,5 +255,5 @@ function allNameVariants(name, slowTest) {
|
|||
// for slow tests effectively cut the amount of work in third by only
|
||||
// returning one variation
|
||||
if (slowTest) return [mixedCaseName];
|
||||
return [upCaseName, lowCaseName, mixedCaseName];
|
||||
return unique([upCaseName, lowCaseName, mixedCaseName]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue