mirror of
https://github.com/servo/servo.git
synced 2025-08-24 06:45:33 +01:00
Update web-platform-tests to revision 6d85a3b422cab97d032ad3db47cb741ca364185f
This commit is contained in:
parent
cd663ea332
commit
b524b7c279
37 changed files with 1446 additions and 178 deletions
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>WebAuthn navigator.credentials.create() authenticator selection Tests</title>
|
||||
<link rel="author" title="Adam Powers" href="mailto:adam@fidoalliance.org">
|
||||
<link rel="help" href="https://w3c.github.io/webauthn/#iface-credential">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src=helpers.js></script>
|
||||
<body></body>
|
||||
<script>
|
||||
standardSetup(function() {
|
||||
"use strict";
|
||||
|
||||
var defaultAuthnrSel = {
|
||||
authenticatorAttachment: "cross-platform",
|
||||
requireResidentKey: false,
|
||||
userVerification: "preferred"
|
||||
};
|
||||
// attachment
|
||||
var authnrSelAttachPlatform = cloneObject(defaultAuthnrSel);
|
||||
authnrSelAttachPlatform.authenticatorAttachment = "platform";
|
||||
var authnrSelBadAttachEmptyStr = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadAttachEmptyStr.authenticatorAttachment = "";
|
||||
var authnrSelBadAttachEmptyObj = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadAttachEmptyObj.authenticatorAttachment = {};
|
||||
var authnrSelBadAttachNull = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadAttachNull.authenticatorAttachment = null;
|
||||
// resident key
|
||||
var authnrSelRkTrue = cloneObject(defaultAuthnrSel);
|
||||
authnrSelRkTrue.requireResidentKey = true;
|
||||
var authnrSelRkBadString = cloneObject(defaultAuthnrSel);
|
||||
authnrSelRkBadString.requireResidentKey = "foo";
|
||||
// user verification
|
||||
var authnrSelUvRequired = cloneObject(defaultAuthnrSel);
|
||||
authnrSelUvRequired.userVerification = "required";
|
||||
var authnrSelBadUvEmptyStr = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadUvEmptyStr.userVerification = "";
|
||||
var authnrSelBadUvEmptyObj = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadUvEmptyObj.userVerification = {};
|
||||
var authnrSelBadUvStr = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadUvStr.userVerification = "requiredshirtshoestshirt";
|
||||
var authnrSelBadUvNull = cloneObject(defaultAuthnrSel);
|
||||
authnrSelBadUvNull.userVerification = null;
|
||||
|
||||
// authenticatorSelection bad values
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", []).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty array", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", null).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is null", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", "").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty string", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", "none").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is string", new TypeError());
|
||||
|
||||
// authenticatorSelection bad attachment values
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty string", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty object", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is null", new TypeError());
|
||||
// XXX: assumes authnr is behaving like most U2F authnrs; really depends on the authnr or mock configuration
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelAttachPlatform).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment platform", "NotAllowedError");
|
||||
|
||||
// authenticatorSelection bad requireResidentKey values
|
||||
// XXX: assumes authnr is behaving like most U2F authnrs; really depends on the authnr or mock configuration
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelRkTrue).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey true", "NotAllowedError");
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelRkBadString).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey is string", new TypeError());
|
||||
// TODO: not sure if rk is "boolean" or "truthy"; add test cases if it should only accept boolean values
|
||||
|
||||
// authenticatorSelection bad userVerification values
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty string", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty object", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification bad value", new TypeError());
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification null", new TypeError());
|
||||
// XXX: assumes this is a mock authenticator the properly reports that it is not doing userVerfication
|
||||
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelUvRequired).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification required", "NotAllowedError");
|
||||
});
|
||||
|
||||
/* JSHINT */
|
||||
/* globals standardSetup, CreateCredentialsTest, cloneObject */
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue