chore: Lint shared directory
This commit is contained in:
@@ -1,149 +1,149 @@
|
||||
/* eslint-disable flowtype/require-valid-file-annotation */
|
||||
import { stripSubdomain, parseDomain, isCustomSubdomain } from './domains';
|
||||
import { stripSubdomain, parseDomain, isCustomSubdomain } from "./domains";
|
||||
|
||||
// test suite is based on subset of parse-domain module we want to support
|
||||
// https://github.com/peerigon/parse-domain/blob/master/test/parseDomain.test.js
|
||||
describe('#parseDomain', () => {
|
||||
it('should remove the protocol', () => {
|
||||
expect(parseDomain('http://example.com')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
describe("#parseDomain", () => {
|
||||
it("should remove the protocol", () => {
|
||||
expect(parseDomain("http://example.com")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
expect(parseDomain('//example.com')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
expect(parseDomain("//example.com")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
expect(parseDomain('https://example.com')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
expect(parseDomain("https://example.com")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove sub-domains', () => {
|
||||
expect(parseDomain('www.example.com')).toMatchObject({
|
||||
subdomain: 'www',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should remove sub-domains", () => {
|
||||
expect(parseDomain("www.example.com")).toMatchObject({
|
||||
subdomain: "www",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove the path', () => {
|
||||
expect(parseDomain('example.com/some/path?and&query')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should remove the path", () => {
|
||||
expect(parseDomain("example.com/some/path?and&query")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
expect(parseDomain('example.com/')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
expect(parseDomain("example.com/")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove the query string', () => {
|
||||
expect(parseDomain('example.com?and&query')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should remove the query string", () => {
|
||||
expect(parseDomain("example.com?and&query")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove special characters', () => {
|
||||
expect(parseDomain('http://m.example.com\r')).toMatchObject({
|
||||
subdomain: 'm',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should remove special characters", () => {
|
||||
expect(parseDomain("http://m.example.com\r")).toMatchObject({
|
||||
subdomain: "m",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should remove the port', () => {
|
||||
expect(parseDomain('example.com:8080')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should remove the port", () => {
|
||||
expect(parseDomain("example.com:8080")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should allow @ characters in the path', () => {
|
||||
expect(parseDomain('https://medium.com/@username/')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'medium',
|
||||
tld: 'com',
|
||||
it("should allow @ characters in the path", () => {
|
||||
expect(parseDomain("https://medium.com/@username/")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "medium",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should also work with three-level domains like .co.uk', () => {
|
||||
expect(parseDomain('www.example.co.uk')).toMatchObject({
|
||||
subdomain: 'www',
|
||||
domain: 'example',
|
||||
tld: 'co.uk',
|
||||
it("should also work with three-level domains like .co.uk", () => {
|
||||
expect(parseDomain("www.example.co.uk")).toMatchObject({
|
||||
subdomain: "www",
|
||||
domain: "example",
|
||||
tld: "co.uk",
|
||||
});
|
||||
});
|
||||
|
||||
it('should not include private domains like blogspot.com by default', () => {
|
||||
expect(parseDomain('foo.blogspot.com')).toMatchObject({
|
||||
subdomain: 'foo',
|
||||
domain: 'blogspot',
|
||||
tld: 'com',
|
||||
it("should not include private domains like blogspot.com by default", () => {
|
||||
expect(parseDomain("foo.blogspot.com")).toMatchObject({
|
||||
subdomain: "foo",
|
||||
domain: "blogspot",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should also work with the minimum', () => {
|
||||
expect(parseDomain('example.com')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'example',
|
||||
tld: 'com',
|
||||
it("should also work with the minimum", () => {
|
||||
expect(parseDomain("example.com")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "example",
|
||||
tld: "com",
|
||||
});
|
||||
});
|
||||
|
||||
it('should return null if the given value is not a string', () => {
|
||||
it("should return null if the given value is not a string", () => {
|
||||
expect(parseDomain(undefined)).toBe(null);
|
||||
expect(parseDomain({})).toBe(null);
|
||||
expect(parseDomain('')).toBe(null);
|
||||
expect(parseDomain("")).toBe(null);
|
||||
});
|
||||
|
||||
it('should work with custom top-level domains (eg .local)', () => {
|
||||
expect(parseDomain('mymachine.local')).toMatchObject({
|
||||
subdomain: '',
|
||||
domain: 'mymachine',
|
||||
tld: 'local',
|
||||
it("should work with custom top-level domains (eg .local)", () => {
|
||||
expect(parseDomain("mymachine.local")).toMatchObject({
|
||||
subdomain: "",
|
||||
domain: "mymachine",
|
||||
tld: "local",
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('#stripSubdomain', () => {
|
||||
test('to work with localhost', () => {
|
||||
expect(stripSubdomain('localhost')).toBe('localhost');
|
||||
describe("#stripSubdomain", () => {
|
||||
test("to work with localhost", () => {
|
||||
expect(stripSubdomain("localhost")).toBe("localhost");
|
||||
});
|
||||
test('to return domains without a subdomain', () => {
|
||||
expect(stripSubdomain('example')).toBe('example');
|
||||
expect(stripSubdomain('example.com')).toBe('example.com');
|
||||
expect(stripSubdomain('example.org:3000')).toBe('example.org');
|
||||
test("to return domains without a subdomain", () => {
|
||||
expect(stripSubdomain("example")).toBe("example");
|
||||
expect(stripSubdomain("example.com")).toBe("example.com");
|
||||
expect(stripSubdomain("example.org:3000")).toBe("example.org");
|
||||
});
|
||||
test('to remove subdomains', () => {
|
||||
expect(stripSubdomain('test.example.com')).toBe('example.com');
|
||||
expect(stripSubdomain('test.example.com:3000')).toBe('example.com');
|
||||
test("to remove subdomains", () => {
|
||||
expect(stripSubdomain("test.example.com")).toBe("example.com");
|
||||
expect(stripSubdomain("test.example.com:3000")).toBe("example.com");
|
||||
});
|
||||
});
|
||||
|
||||
describe('#isCustomSubdomain', () => {
|
||||
test('to work with localhost', () => {
|
||||
expect(isCustomSubdomain('localhost')).toBe(false);
|
||||
describe("#isCustomSubdomain", () => {
|
||||
test("to work with localhost", () => {
|
||||
expect(isCustomSubdomain("localhost")).toBe(false);
|
||||
});
|
||||
test('to return false for domains without a subdomain', () => {
|
||||
expect(isCustomSubdomain('example')).toBe(false);
|
||||
expect(isCustomSubdomain('example.com')).toBe(false);
|
||||
expect(isCustomSubdomain('example.org:3000')).toBe(false);
|
||||
test("to return false for domains without a subdomain", () => {
|
||||
expect(isCustomSubdomain("example")).toBe(false);
|
||||
expect(isCustomSubdomain("example.com")).toBe(false);
|
||||
expect(isCustomSubdomain("example.org:3000")).toBe(false);
|
||||
});
|
||||
test('to return false for www', () => {
|
||||
expect(isCustomSubdomain('www.example.com')).toBe(false);
|
||||
expect(isCustomSubdomain('www.example.com:3000')).toBe(false);
|
||||
test("to return false for www", () => {
|
||||
expect(isCustomSubdomain("www.example.com")).toBe(false);
|
||||
expect(isCustomSubdomain("www.example.com:3000")).toBe(false);
|
||||
});
|
||||
test('to return true for subdomains', () => {
|
||||
expect(isCustomSubdomain('test.example.com')).toBe(true);
|
||||
expect(isCustomSubdomain('test.example.com:3000')).toBe(true);
|
||||
test("to return true for subdomains", () => {
|
||||
expect(isCustomSubdomain("test.example.com")).toBe(true);
|
||||
expect(isCustomSubdomain("test.example.com:3000")).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user