Change getDefaultAuthority in resolver to look at the registered resolvers instead of registerDefaultResolver function

This commit is contained in:
Jared Dellitt 2019-11-10 18:00:25 -06:00
parent e9ac2bd9ac
commit 54a95106a6
3 changed files with 25 additions and 2 deletions

View File

@ -140,7 +140,11 @@ function mergeArrays<T>(...arrays: T[][]): T[] {
const result: T[] = [];
for (
let i = 0;
i < Math.max.apply(null, arrays.map(array => array.length));
i <
Math.max.apply(
null,
arrays.map(array => array.length)
);
i++
) {
for (const array of arrays) {

View File

@ -125,7 +125,7 @@ export function createResolver(
* @param target
*/
export function getDefaultAuthority(target: string): string {
for (const prefix of Object.keys(registerDefaultResolver)) {
for (const prefix of Object.keys(registeredResolvers)) {
if (target.startsWith(prefix)) {
return registeredResolvers[prefix].getDefaultAuthority(target);
}

View File

@ -194,4 +194,23 @@ describe('Name Resolver', () => {
resolver.updateResolution();
});
});
describe('getDefaultAuthority', () => {
class OtherResolver implements resolverManager.Resolver {
updateResolution() {
return [];
}
static getDefaultAuthority(target: string): string {
return 'other';
}
}
it('Should return the correct authority if a different resolver has been registered', () => {
const target = 'other://name';
resolverManager.registerResolver('other:', OtherResolver);
const authority = resolverManager.getDefaultAuthority(target);
assert.equal(authority, 'other');
});
});
});