UNPKG

1.64 kBJavaScriptView Raw
1if (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
9describe('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});