Skip to content

Commit

Permalink
coverage tests
Browse files Browse the repository at this point in the history
  • Loading branch information
SomeoneWeird committed Apr 5, 2015
1 parent 8cc0c96 commit 3a50246
Show file tree
Hide file tree
Showing 9 changed files with 184 additions and 18 deletions.
6 changes: 3 additions & 3 deletions test-src/boolean.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ describe("Boolean validator", function() {

it("should require value", function() {

let schema = s.Boolean();
let schema = s.Boolean({ opt: false });

assert.throws(function() {
schema.validate();
Expand Down Expand Up @@ -38,7 +38,7 @@ describe("Boolean validator", function() {

it("should throw if value given is not boolean", function() {

let schema = s.Boolean();
let schema = s.Boolean({ opt: false });

assert.throws(function() {
schema.validate(42);
Expand All @@ -48,7 +48,7 @@ describe("Boolean validator", function() {

it("should validate correctly", function() {

let schema = s.Boolean();
let schema = s.Boolean({ opt: false });

assert.doesNotThrow(function() {

Expand Down
12 changes: 6 additions & 6 deletions test-src/date.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe("Date validator", function() {

it("should require value", function() {

let schema = s.Date();
let schema = s.Date({ opt: false });

assert.throws(function() {
schema.validate();
Expand All @@ -32,31 +32,31 @@ describe("Date validator", function() {
});

it("should accept a valid Date", function() {
let schema = s.Date();
let schema = s.Date({ opt: false });
assert.equal(schema.validate(old).getTime(), old.getTime());
});

it("should reject an invalid Date", function() {
let schema = s.Date();
let schema = s.Date({ opt: false });
assert.throws(function() {
schema.validate(notADate);
}, Error);
});

it("should accept a valid Date as a string", function() {
let schema = s.Date();
let schema = s.Date({ opt: false });
assert.equal(schema.validate(oldString).getTime(), old.getTime());
});

it("should reject a Date less than min", function() {
let schema = s.Date({min: old});
let schema = s.Date({ min: old });
assert.throws(function() {
schema.validate(older);
}, Error);
});

it("should reject a Date greater than max", function() {
let schema = s.Date({max: old});
let schema = s.Date({ max: old });
assert.throws(function() {
schema.validate(now);
}, Error);
Expand Down
6 changes: 3 additions & 3 deletions test-src/email.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ describe("Email validator", function() {

it("should require value", function() {

let schema = s.Email();
let schema = s.Email({ opt: false });

assert.throws(function() {
schema.validate();
Expand All @@ -28,7 +28,7 @@ describe("Email validator", function() {

it("should require string", function() {

let schema = s.Email();
let schema = s.Email({ opt: false });

assert.throws(function() {
schema.validate(true);
Expand All @@ -37,7 +37,7 @@ describe("Email validator", function() {
});

it("should accept valid email addresses", function() {
let schema = s.Email();
let schema = s.Email({ opt: false });
let valid = [
"mel@example.com",
"mel+chickensGoBrrrk@example.com",
Expand Down
32 changes: 32 additions & 0 deletions test-src/fastBoolean.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

"use strict";

const assert = require("assert");
const s = require("../");

describe("FastBoolean validator", function() {

it("should require value", function() {

let schema = s.FastBoolean();

assert.throws(function() {
schema.validate();
});

});

it("should validate correctly", function() {

let schema = s.FastBoolean();

assert.doesNotThrow(function() {

schema.validate(true);
schema.validate(false);

});

});

});
40 changes: 40 additions & 0 deletions test-src/fastDate.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

"use strict";

const assert = require("assert");
const s = require("../");

describe("FastDate validator", function() {

const old = new Date("1979");
const oldString = "1979";
const older = new Date("1970");

it("should require value", function() {

let schema = s.FastDate();

assert.throws(function() {
schema.validate();
});

});

it("should accept a valid Date", function() {
let schema = s.FastDate();
assert.equal(schema.validate(old).getTime(), old.getTime());
});

it("should reject an invalid Date", function() {
let schema = s.FastDate();
assert.throws(function() {
schema.validate({ dinosaur: "rawwwr" });
}, Error);
});

it("should accept a valid Date as a string", function() {
let schema = s.FastDate();
assert.equal(schema.validate(oldString).getTime(), old.getTime());
});

});
50 changes: 50 additions & 0 deletions test-src/fastEmail.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

"use strict";

const assert = require("assert");
const s = require("../");

describe("FastEmail validator", function() {

it("should require value", function() {

let schema = s.FastEmail();

assert.throws(function() {
schema.validate();
});

});

it("should require string", function() {

let schema = s.FastEmail();

assert.throws(function() {
schema.validate(true);
});

});

it("should accept valid email addresses", function() {
let schema = s.FastEmail();
let valid = [
"mel@example.com",
"mel+chickensGoBrrrk@example.com",
"root@127.0.0.1"
];
let invalid = [
"notanemailaddress",
"this has spaces @ foo"
];
valid.forEach(function(e) {
assert.equal(schema.validate(e), e.toLowerCase());
});
invalid.forEach(function(e) {
assert.throws(function() {
schema.validate(e);
}, Error);
});
});

});
37 changes: 37 additions & 0 deletions test-src/fastNumber.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

"use strict";

const assert = require("assert");
const s = require("../");

describe("FastNumber validator", function() {
let small = 2;
let large = 900000000001;
let stringNumber = "123";
let notANumber = {};

it("should require value", function() {
let schema = s.FastNumber();
assert.throws(function() {
schema.validate();
});
});

it("should accept a valid Number", function() {
let schema = s.FastNumber();
assert.equal(schema.validate(small), small);
});

it("should reject an invalid Number", function() {
let schema = s.FastNumber();
assert.throws(function() {
schema.validate(notANumber);
}, Error);
});

it("should accept a valid Number as a string", function() {
let schema = s.FastNumber();
assert.equal(schema.validate(stringNumber), 123);
});

});
8 changes: 4 additions & 4 deletions test-src/number.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ describe("Number validator", function() {
let notANumber = {};

it("should require value", function() {
let schema = s.Number();
let schema = s.Number({ opt: false });
assert.throws(function() {
schema.validate();
});
Expand All @@ -25,19 +25,19 @@ describe("Number validator", function() {
});

it("should accept a valid Number", function() {
let schema = s.Number();
let schema = s.Number({ opt: false });
assert.equal(schema.validate(small), small);
});

it("should reject an invalid Number", function() {
let schema = s.Number();
let schema = s.Number({ opt: false });
assert.throws(function() {
schema.validate(notANumber);
}, Error);
});

it("should accept a valid Number as a string", function() {
let schema = s.Number();
let schema = s.Number({ opt: false });
assert.equal(schema.validate(stringNumber), 123);
});

Expand Down
11 changes: 9 additions & 2 deletions test-src/string.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,20 @@ describe("String validator", function() {
let longString = "I am the very model of a modern major general";
let notAString = {};

it("should require a string", function() {
let schema = s.String({ opt: false });
assert.throws(function() {
schema.validate();
});
});

it("should accept a valid string", function() {
let schema = s.String();
let schema = s.String({ opt: false });
assert.equal(schema.validate(shortString), shortString);
});

it("should reject an invalid string", function() {
let schema = s.String();
let schema = s.String({ opt: false });
assert.throws(function() {
schema.validate(notAString);
}, Error);
Expand Down

0 comments on commit 3a50246

Please sign in to comment.