| <!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> |