Skip to content

Commit

Permalink
Revert url test back to original shape
Browse files Browse the repository at this point in the history
  • Loading branch information
sepo-one committed May 3, 2017
1 parent 9f18054 commit 95074ff
Showing 1 changed file with 48 additions and 54 deletions.
102 changes: 48 additions & 54 deletions test/url.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*global beforeEach, describe, it, context*/
/*global beforeEach, describe, it*/
var unexpected = require('unexpected'),
oneValidation = require('../validation');

Expand All @@ -8,62 +8,56 @@ describe('url validation', function () {
expect(subject, '[not] to match', regExp);
});

var passTest = function (value) {
it(value, function () { expect(value, 'to pass'); });
};

var rejectTest = function (value) {
it(value, function () { expect(value, 'not to pass'); });
};

describe('#httpUrl', function () {
beforeEach(function () {
regExp = oneValidation.httpUrl;
});

context('should accept valid input', function () {
passTest('http://www.foo.com/');
passTest('http://www.foo.com/~username/');
passTest('http://www.foo.com?query=simple');
passTest('http://www.foo.com?query=where&is=theTruth');
passTest('http://www.foo.com?query=where&is=theTruth#in=the&world=true');
passTest('http://www.foo.com/?');
passTest('http://www.foo.com/?#');
passTest('http://example.com/foo/bar&something=blah');
passTest('http://foo.com/blah_blah');
passTest('http://foo.com/blah_blah/');
passTest('http://foo.com/blah_blah_(wikipedia)');
passTest('http://foo.com/blah_blah_(wikipedia)_(again)');
passTest('http://www.example.com/wpstyle/?p=364');
passTest('https://www.example.com/foo/?bar=baz&inga=42&quux');
passTest('http://userid:password@example.com:8080');
passTest('http://userid:password@example.com:8080/');
passTest('http://userid@example.com');
passTest('http://userid@example.com/');
passTest('http://userid@example.com:8080');
passTest('http://userid@example.com:8080/');
passTest('http://userid:password@example.com');
passTest('http://userid:password@example.com/');
passTest('http://foo.com/blah_(wikipedia)#cite-1');
passTest('http://foo.com/blah_(wikipedia)_blah#cite-1');
passTest('http://foo.com/(something)?after=parens');
passTest('http://code.google.com/events/#&product=browser');
passTest('http://j.mp');
passTest('http://foo.com/?q=Test%20URL-encoded%20stuff');
passTest('http://-.~_!$&\'()*+,;=:%40:80%2f::::::@example.com');
passTest('http://1337.net');
passTest('http://a.b-c.de');
passTest('http://www.hitta.se/karta#tool=coordinate&vkid=dWR_Xnqbbk&center=6411726:1290882&zl=9&type=map&bounds=6411510:1290540,6411943:1291224');
it('should accept valid input', function () {
expect('http://www.foo.com/', 'to pass');
expect('http://www.foo.com?query=simple', 'to pass');
expect('http://www.foo.com?query=where&is=theTruth', 'to pass');
expect('http://www.foo.com?query=where&is=theTruth#in=the&world=true', 'to pass');
expect('http://www.foo.com/?', 'to pass');
expect('http://www.foo.com/?#', 'to pass');
expect('http://www.foo.com/~username/', 'to pass');
expect('http://www.foo.com/?', 'to pass');
expect('http://www.foo.com/?#', 'to pass');
expect('http://example.com/foo/bar&something=blah', 'to pass');
expect('http://foo.com/blah_blah', 'to pass');
expect('http://foo.com/blah_blah/', 'to pass');
expect('http://foo.com/blah_blah_(wikipedia)', 'to pass');
expect('http://foo.com/blah_blah_(wikipedia)_(again)', 'to pass');
expect('http://www.example.com/wpstyle/?p=364', 'to pass');
expect('https://www.example.com/foo/?bar=baz&inga=42&quux', 'to pass');
expect('http://userid:password@example.com:8080', 'to pass');
expect('http://userid:password@example.com:8080/', 'to pass');
expect('http://userid@example.com', 'to pass');
expect('http://userid@example.com/', 'to pass');
expect('http://userid@example.com:8080', 'to pass');
expect('http://userid@example.com:8080/', 'to pass');
expect('http://userid:password@example.com', 'to pass');
expect('http://userid:password@example.com/', 'to pass');
expect('http://foo.com/blah_(wikipedia)#cite-1', 'to pass');
expect('http://foo.com/blah_(wikipedia)_blah#cite-1', 'to pass');
expect('http://foo.com/(something)?after=parens', 'to pass');
expect('http://code.google.com/events/#&product=browser', 'to pass');
expect('http://j.mp', 'to pass');
expect('http://foo.com/?q=Test%20URL-encoded%20stuff', 'to pass');
expect('http://-.~_!$&\'()*+,;=:%40:80%2f::::::@example.com', 'to pass');
expect('http://1337.net', 'to pass');
expect('http://a.b-c.de', 'to pass');
expect('http://www.hitta.se/karta#tool=coordinate&vkid=dWR_Xnqbbk&center=6411726:1290882&zl=9&type=map&bounds=6411510:1290540,6411943:1291224', 'to pass');
// IP addresses for hostnames
passTest('http://142.42.1.1/');
passTest('http://142.42.1.1:8080/');
passTest('http://223.255.255.254');
expect('http://142.42.1.1/', 'to pass');
expect('http://142.42.1.1:8080/', 'to pass');
expect('http://223.255.255.254', 'to pass');
// New TLDs
passTest('http://www.foo.cq/');
passTest('http://www.foo.randomtld/');
expect('http://www.foo.cq/', 'to pass');
expect('http://www.foo.randomtld/', 'to pass');
// SLDs
passTest('http://foo.co.uk');
passTest('http://foo.org.uk');
expect('http://foo.co.uk', 'to pass');
expect('http://foo.org.uk', 'to pass');
});

it('should reject invalid input', function () {
Expand All @@ -89,11 +83,11 @@ describe('url validation', function () {
expect('http://उदाहरण.परीक्षा', 'to pass');
});

context('should reject invalid input', function () {
rejectTest('http://foo.com/unicode_(✪)_in_parens');
rejectTest('http://➡.ws/䨹');
rejectTest('http://1.1.256.1');
rejectTest('http://1.1.1.300');
it('should reject invalid input', function () {
expect('http://foo.com/unicode_(✪)_in_parens', 'not to pass');
expect('http://➡.ws/䨹', 'not to pass');
expect('http://1.1.256.1', 'not to pass');
expect('http://1.1.1.300', 'not to pass');
});
});

Expand Down

0 comments on commit 95074ff

Please sign in to comment.