1 | if (typeof require !== 'undefined') {
|
2 | var Validator = require('../src/validator.js');
|
3 | var expect = require('chai').expect;
|
4 | } else {
|
5 | var Validator = window.Validator;
|
6 | var expect = window.chai.expect;
|
7 | }
|
8 |
|
9 | describe('url validation rule', function() {
|
10 | it('should fail with a url only containing http://', function() {
|
11 | var link = 'http://';
|
12 | var validator = new Validator({
|
13 | link: link
|
14 | }, {
|
15 | link: 'url'
|
16 | });
|
17 | expect(validator.fails()).to.be.true;
|
18 | expect(validator.passes()).to.be.false;
|
19 | });
|
20 |
|
21 | it('should fail with a url starting with http:// followed by 1 or more characters without a `.`', function() {
|
22 | var link = 'http://google';
|
23 | var validator = new Validator({
|
24 | link: link
|
25 | }, {
|
26 | link: 'url'
|
27 | });
|
28 | expect(validator.fails()).to.be.true;
|
29 | });
|
30 |
|
31 | it('should pass with an https url', function() {
|
32 | var link = 'https://google.com';
|
33 | var validator = new Validator({
|
34 | link: link
|
35 | }, {
|
36 | link: 'url'
|
37 | });
|
38 | expect(validator.passes()).to.be.true;
|
39 | });
|
40 |
|
41 | it('should pass for url with short domain name', function() {
|
42 | var link = 'https://t.co';
|
43 | var validator = new Validator({
|
44 | link: link
|
45 | }, {
|
46 | link: 'url'
|
47 | });
|
48 | expect(validator.passes()).to.be.true;
|
49 | });
|
50 |
|
51 | it('should pass with an empty value', function() {
|
52 | var validator = new Validator({
|
53 | link: ''
|
54 | }, {
|
55 | link: 'url'
|
56 | });
|
57 | expect(validator.passes()).to.be.true;
|
58 | });
|
59 |
|
60 | it('should pass with an undefined value', function() {
|
61 | var validator = new Validator({}, {
|
62 | link: 'url'
|
63 | });
|
64 | expect(validator.passes()).to.be.true;
|
65 | });
|
66 | });
|