mirror of https://github.com/jiahaog/Nativefier
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import { linkIsInternal, getCounterValue } from './helpers';
|
|
|
|
const internalUrl = 'https://medium.com/';
|
|
const internalUrlSubPath = 'topic/technology';
|
|
const externalUrl = 'https://www.wikipedia.org/wiki/Electron';
|
|
const wildcardRegex = /.*/;
|
|
|
|
test('the original url should be internal', () => {
|
|
expect(linkIsInternal(internalUrl, internalUrl, undefined)).toEqual(true);
|
|
});
|
|
|
|
test('sub-paths of the original url should be internal', () => {
|
|
expect(
|
|
linkIsInternal(internalUrl, internalUrl + internalUrlSubPath, undefined),
|
|
).toEqual(true);
|
|
});
|
|
|
|
test("'about:blank' should be internal", () => {
|
|
expect(linkIsInternal(internalUrl, 'about:blank', undefined)).toEqual(true);
|
|
});
|
|
|
|
test('urls from different sites should not be internal', () => {
|
|
expect(linkIsInternal(internalUrl, externalUrl, undefined)).toEqual(false);
|
|
});
|
|
|
|
test('all urls should be internal with wildcard regex', () => {
|
|
expect(linkIsInternal(internalUrl, externalUrl, wildcardRegex)).toEqual(true);
|
|
});
|
|
|
|
const smallCounterTitle = 'Inbox (11) - nobody@example.com - Gmail';
|
|
const largeCounterTitle = 'Inbox (8,756) - nobody@example.com - Gmail';
|
|
const noCounterTitle = 'Inbox - nobody@example.com - Gmail';
|
|
|
|
test('getCounterValue should return undefined for titles without counter numbers', () => {
|
|
expect(getCounterValue(noCounterTitle)).toEqual(undefined);
|
|
});
|
|
|
|
test('getCounterValue should return a string for small counter numbers in the title', () => {
|
|
expect(getCounterValue(smallCounterTitle)).toEqual('11');
|
|
});
|
|
|
|
test('getCounterValue should return a string for large counter numbers in the title', () => {
|
|
expect(getCounterValue(largeCounterTitle)).toEqual('8,756');
|
|
});
|