UNPKG

3.39 kBJavaScriptView Raw
1describe('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 22 for ftp', function () {
76 assume(required('22', 'ftp')).false();
77 assume(required(22, 'ftp')).false();
78 assume(required(22, 'ftp://')).false();
79 assume(required(22, '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});