зеркало из https://github.com/mozilla/gecko-dev.git
136 строки
5.2 KiB
HTML
136 строки
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<title>Credential Management API: create() basics.</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, "NotSupportedError",
|
|
navigator.credentials.create());
|
|
}, "navigator.credentials.create() with no argument.");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, "NotSupportedError",
|
|
navigator.credentials.create({}));
|
|
}, "navigator.credentials.create() with empty argument.");
|
|
|
|
promise_test(function(t) {
|
|
var credential_data = {
|
|
id: 'id',
|
|
password: 'pencil',
|
|
};
|
|
|
|
return navigator.credentials.create({password: credential_data})
|
|
.then(function(credential) {
|
|
assert_equals(credential.id, 'id');
|
|
assert_equals(credential.name, '');
|
|
assert_equals(credential.iconURL, '');
|
|
assert_equals(credential.type, 'password');
|
|
assert_equals(credential.password, 'pencil');
|
|
});
|
|
}, "navigator.credentials.create() with valid PasswordCredentialData");
|
|
|
|
promise_test(function(t) {
|
|
var f = document.createElement('form');
|
|
f.innerHTML = "<input type='text' name='theId' value='musterman' autocomplete='username'>"
|
|
+ "<input type='text' name='thePassword' value='sekrit' autocomplete='current-password'>"
|
|
+ "<input type='text' name='theIcon' value='https://example.com/photo' autocomplete='photo'>"
|
|
+ "<input type='text' name='theExtraField' value='extra'>"
|
|
+ "<input type='text' name='theName' value='friendly name' autocomplete='name'>";
|
|
|
|
return navigator.credentials.create({password: f})
|
|
.then(function(credential) {
|
|
assert_equals(credential.id, 'musterman');
|
|
assert_equals(credential.name, 'friendly name');
|
|
assert_equals(credential.iconURL, 'https://example.com/photo');
|
|
assert_equals(credential.type, 'password');
|
|
assert_equals(credential.password, 'sekrit');
|
|
});
|
|
}, "navigator.credentials.create() with valid HTMLFormElement");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({password: "bogus password data"}));
|
|
}, "navigator.credentials.create() with bogus password data");
|
|
|
|
promise_test(function(t) {
|
|
var federated_data = {
|
|
id: 'id',
|
|
provider: 'https://example.com/',
|
|
};
|
|
|
|
return navigator.credentials.create({federated: federated_data})
|
|
.then(function(credential) {
|
|
assert_equals(credential.id, 'id');
|
|
assert_equals(credential.name, '');
|
|
assert_equals(credential.iconURL, '');
|
|
assert_equals(credential.type, 'federated');
|
|
});
|
|
}, "navigator.credentials.create() with valid FederatedCredentialData");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({federated: "bogus federated data"}));
|
|
}, "navigator.credentials.create() with bogus federated data");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({publicKey: "bogus publicKey data"}));
|
|
}, "navigator.credentials.create() with bogus publicKey data");
|
|
|
|
promise_test(function(t) {
|
|
var credential_data = {
|
|
id: 'id',
|
|
password: 'pencil',
|
|
};
|
|
|
|
var federated_data = {
|
|
id: 'id',
|
|
provider: 'https://example.com/',
|
|
};
|
|
|
|
return promise_rejects(t, "NotSupportedError",
|
|
navigator.credentials.create({
|
|
password: credential_data,
|
|
federated: federated_data,
|
|
}));
|
|
}, "navigator.credentials.create() with both PasswordCredentialData and FederatedCredentialData");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({
|
|
password: "bogus password data",
|
|
federated: "bogus federated data",
|
|
}));
|
|
}, "navigator.credentials.create() with bogus password and federated data");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({
|
|
federated: "bogus federated data",
|
|
publicKey: "bogus publicKey data",
|
|
}));
|
|
}, "navigator.credentials.create() with bogus federated and publicKey data");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({
|
|
password: "bogus password data",
|
|
publicKey: "bogus publicKey data",
|
|
}));
|
|
}, "navigator.credentials.create() with bogus password and publicKey data");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, new TypeError(),
|
|
navigator.credentials.create({
|
|
password: "bogus password data",
|
|
federated: "bogus federated data",
|
|
publicKey: "bogus publicKey data",
|
|
}));
|
|
}, "navigator.credentials.create() with bogus password, federated, and publicKey data");
|
|
|
|
promise_test(function(t) {
|
|
return promise_rejects(t, "NotSupportedError",
|
|
navigator.credentials.create({bogus_key: "bogus data"}));
|
|
}, "navigator.credentials.create() with bogus data");
|
|
</script>
|