summaryrefslogtreecommitdiff
path: root/test/specs/helpers/isAbsoluteURL.spec.js
blob: 0af4139545c7b1436ab149b46841bbcd87f3a9ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var isAbsoluteURL = require('../../../lib/helpers/isAbsoluteURL');

describe('helpers::isAbsoluteURL', function () {
  it('should return true if URL begins with valid scheme name', function () {
    expect(isAbsoluteURL('https://api.github.com/users')).toBe(true);
    expect(isAbsoluteURL('custom-scheme-v1.0://example.com/')).toBe(true);
    expect(isAbsoluteURL('HTTP://example.com/')).toBe(true);
  });

  it('should return false if URL begins with invalid scheme name', function () {
    expect(isAbsoluteURL('123://example.com/')).toBe(false);
    expect(isAbsoluteURL('!valid://example.com/')).toBe(false);
  });

  it('should return true if URL is protocol-relative', function () {
    expect(isAbsoluteURL('//example.com/')).toBe(true);
  });

  it('should return false if URL is relative', function () {
    expect(isAbsoluteURL('/foo')).toBe(false);
    expect(isAbsoluteURL('foo')).toBe(false);
  });
});