Projekt

Obecné

Profil

Stáhnout (3.31 KB) Statistiky
| Větev: | Revize:
1 3a515b92 cagy
describe('requires-port', function () {
2
  'use strict';
3
4
  var assume = require('assume')
5
    , required = require('./');
6
7
  it('is exported as a function', function () {
8
    assume(required).is.a('function');
9
  });
10
11
  it('does not require empty ports', function () {
12
    assume(required('', 'http')).false();
13
    assume(required('', 'wss')).false();
14
    assume(required('', 'ws')).false();
15
    assume(required('', 'cowsack')).false();
16
  });
17
18
  it('assumes true for unknown protocols',function () {
19
    assume(required('808', 'foo')).true();
20
    assume(required('80', 'bar')).true();
21
  });
22
23
  it('never requires port numbers for file', function () {
24
    assume(required(8080, 'file')).false();
25
  });
26
27
  it('does not require port 80 for http', function () {
28
    assume(required('80', 'http')).false();
29
    assume(required(80, 'http')).false();
30
    assume(required(80, 'http://')).false();
31
    assume(required(80, 'http://www.google.com')).false();
32
33
    assume(required('8080', 'http')).true();
34
    assume(required(8080, 'http')).true();
35
    assume(required(8080, 'http://')).true();
36
    assume(required(8080, 'http://www.google.com')).true();
37
  });
38
39
  it('does not require port 80 for ws', function () {
40
    assume(required('80', 'ws')).false();
41
    assume(required(80, 'ws')).false();
42
    assume(required(80, 'ws://')).false();
43
    assume(required(80, 'ws://www.google.com')).false();
44
45
    assume(required('8080', 'ws')).true();
46
    assume(required(8080, 'ws')).true();
47
    assume(required(8080, 'ws://')).true();
48
    assume(required(8080, 'ws://www.google.com')).true();
49
  });
50
51
  it('does not require port 443 for https', function () {
52
    assume(required('443', 'https')).false();
53
    assume(required(443, 'https')).false();
54
    assume(required(443, 'https://')).false();
55
    assume(required(443, 'https://www.google.com')).false();
56
57
    assume(required('8080', 'https')).true();
58
    assume(required(8080, 'https')).true();
59
    assume(required(8080, 'https://')).true();
60
    assume(required(8080, 'https://www.google.com')).true();
61
  });
62
63
  it('does not require port 443 for wss', function () {
64
    assume(required('443', 'wss')).false();
65
    assume(required(443, 'wss')).false();
66
    assume(required(443, 'wss://')).false();
67
    assume(required(443, 'wss://www.google.com')).false();
68
69
    assume(required('8080', 'wss')).true();
70
    assume(required(8080, 'wss')).true();
71
    assume(required(8080, 'wss://')).true();
72
    assume(required(8080, 'wss://www.google.com')).true();
73
  });
74
75
  it('does not require port 21 for ftp', function () {
76
    assume(required('21', 'ftp')).false();
77
    assume(required(21, 'ftp')).false();
78
    assume(required(21, 'ftp://')).false();
79
    assume(required(21, 'ftp://www.google.com')).false();
80
81
    assume(required('8080', 'ftp')).true();
82
    assume(required(8080, 'ftp')).true();
83
    assume(required(8080, 'ftp://')).true();
84
    assume(required(8080, 'ftp://www.google.com')).true();
85
  });
86
87
  it('does not require port 70 for gopher', function () {
88
    assume(required('70', 'gopher')).false();
89
    assume(required(70, 'gopher')).false();
90
    assume(required(70, 'gopher://')).false();
91
    assume(required(70, 'gopher://www.google.com')).false();
92
93
    assume(required('8080', 'gopher')).true();
94
    assume(required(8080, 'gopher')).true();
95
    assume(required(8080, 'gopher://')).true();
96
    assume(required(8080, 'gopher://www.google.com')).true();
97
  });
98
});