2018-06-25 17:42:50 +00:00
|
|
|
import { FLEXIBLE_URL_REGEX } from '../constants';
|
|
|
|
import { globalBeforeEach } from '../../__jest__/before-each';
|
2017-04-05 02:33:09 +00:00
|
|
|
describe('URL Regex', () => {
|
2017-07-20 03:36:44 +00:00
|
|
|
beforeEach(globalBeforeEach);
|
2017-04-05 02:33:09 +00:00
|
|
|
it('matches valid URLs', () => {
|
|
|
|
expect('https://google.com').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('http://google.com').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('https://google.com/').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('http://google.com/').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('https://google').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('https://dash-domain.com').toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('http://localhost:8000').toMatch(FLEXIBLE_URL_REGEX);
|
2018-10-17 16:42:33 +00:00
|
|
|
expect('http://localhost:8000/foo/b@@r?hi=there#hello').toMatch(FLEXIBLE_URL_REGEX);
|
2017-04-05 02:33:09 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
it('does not match "stop" characters', () => {
|
|
|
|
expect('string').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('//relative-url.com').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('//relative').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('//relative').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('google.com').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('smtp://mailserver.com').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('"https://google.com"').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('(https://google.com)').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
expect('[https://google.com]').not.toMatch(FLEXIBLE_URL_REGEX);
|
|
|
|
});
|
|
|
|
});
|