Files
twenty/packages/twenty-front/src/utils/__tests__/is-url.test.ts
2023-12-10 18:10:54 +01:00

63 lines
1.8 KiB
TypeScript

import { isURL } from '~/utils/is-url';
describe('isURL', () => {
it(`should return false if null`, () => {
expect(isURL(null)).toBeFalsy();
});
it(`should return false if undefined`, () => {
expect(isURL(undefined)).toBeFalsy();
});
it(`should return true if string google`, () => {
expect(isURL('google')).toBeFalsy();
});
it(`should return true if string google.com`, () => {
expect(isURL('google.com')).toBeTruthy();
});
it(`should return true if string bbc.co.uk`, () => {
expect(isURL('bbc.co.uk')).toBeTruthy();
});
it(`should return true if string web.io`, () => {
expect(isURL('web.io')).toBeTruthy();
});
it(`should return true if string x.com`, () => {
expect(isURL('x.com')).toBeTruthy();
});
it(`should return true if string 2.com`, () => {
expect(isURL('2.com')).toBeTruthy();
});
it(`should return true if string https://2.com/test/`, () => {
expect(isURL('https://2.com/test/')).toBeTruthy();
});
it(`should return true if string is https://www.linkedin.com/company/b%C3%B6ke-&-partner-sdft-partmbb/`, () => {
expect(
isURL(
'https://www.linkedin.com/company/b%C3%B6ke-&-partner-sdft-partmbb/',
),
).toBeTruthy();
});
it('should return true if the TLD is long', () => {
expect(isURL('https://example.travelinsurance')).toBeTruthy();
});
it('should return true if the TLD is internationalized', () => {
// The longest TLD as of now
// https://stackoverflow.com/questions/9238640/how-long-can-a-tld-possibly-be
// curl -s http://data.iana.org/TLD/tlds-alpha-by-domain.txt \
// | tail -n+2 \
// | awk '{ print length, $0 }' \
// | sort --numeric-sort --reverse \
// | head -n 5
expect(isURL('https://example.xn--vermgensberatung-pwb')).toBeTruthy();
});
});