blob: a1771598a1e7bac8904af95c3a9eace38cea7bea [file] [log] [blame]
<!DOCTYPE html>
<title>Credential Manager: FederatedCredential basics.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/interfaces.js"></script>
<script>
test(function() {
var credential = new FederatedCredential({
'id': 'id',
'provider': 'https://federation.test/',
'name': 'name',
'iconURL': 'https://example.test/icon.png'
});
assert_true(credential instanceof Credential);
assert_true(credential instanceof FederatedCredential);
verify_interface('FederatedCredential', credential, {
id: 'string',
name: 'string',
iconURL: 'string',
provider: 'string',
type: 'string'
});
assert_equals(credential.id, 'id');
assert_equals(credential.name, 'name');
assert_equals(credential.iconURL, 'https://example.test/icon.png');
assert_equals(credential.provider, 'https://federation.test');
assert_equals(credential.type, 'federated');
}, 'Interfaces and attributes of FederatedCredential');
test(function() {
var credential = new FederatedCredential({
'id': 'id',
'provider': 'https://federation.test/',
'name': 'name'
});
assert_equals(credential.id, 'id');
assert_equals(credential.name, 'name');
assert_equals(credential.iconURL, '');
assert_equals(credential.provider, 'https://federation.test');
assert_equals(credential.type, 'federated');
}, 'Interfaces and attributes of FederatedCredential');
test(function() {
var credential = new FederatedCredential({
'id': 'id',
'provider': 'https://federation.test/',
});
assert_equals(credential.id, 'id');
assert_equals(credential.name, '');
assert_equals(credential.iconURL, '');
assert_equals(credential.provider, 'https://federation.test');
assert_equals(credential.type, 'federated');
}, 'Interfaces and attributes of FederatedCredential');
test(function() {
var credential = new FederatedCredential({
'id': 'id',
'provider': 'https://federation.test',
});
assert_equals(credential.id, 'id');
assert_equals(credential.name, '');
assert_equals(credential.iconURL, '');
assert_equals(credential.provider, 'https://federation.test');
assert_equals(credential.type, 'federated');
}, 'Interfaces and attributes of FederatedCredential');
test(function() {
assert_throws(new SyntaxError(), function () {
var credential = new FederatedCredential({
'id': 'id',
'provider': 'https://federation.test/',
'name': 'name',
'iconURL': '-'
});
});
}, 'Construct a FederatedCredential with an invalid Icon URL.');
test(function() {
assert_throws(new SyntaxError(), function () {
var credential = new FederatedCredential({
'id': 'id',
'provider': '-',
'name': 'name',
'iconURL': 'https://example.test/icon.png'
});
});
}, 'Construct a FederatedCredential with an invalid federation URL.');
test(function() {
assert_throws(new TypeError(),
() => { new FederatedCredential(); });
assert_throws(new TypeError(),
() => { new FederatedCredential({}); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'id': undefined }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'id': '' }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'provider': undefined }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'provider': '' }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'id': undefined, 'provider': undefined }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'id': undefined, 'provider': '' }); });
assert_throws(new TypeError(),
() => { new FederatedCredential({ 'id': undefined, 'provider': undefined }); });
}, 'FederatedCredential objects require IDs and Providers');
</script>