@tdb/util
Version:
Shared helpers and utilities.
183 lines • 9.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var _1 = require(".");
describe('isPlainObject', function () {
it('is a plain object', function () {
chai_1.expect(_1.value.isPlainObject(Object.create({}))).to.equal(true);
chai_1.expect(_1.value.isPlainObject(Object.create(Object.prototype))).to.equal(true);
chai_1.expect(_1.value.isPlainObject({ foo: 123 })).to.equal(true);
chai_1.expect(_1.value.isPlainObject({})).to.equal(true);
});
it('is not a plain object', function () {
var Foo = (function () {
function Foo() {
}
return Foo;
}());
chai_1.expect(_1.value.isPlainObject(1)).to.equal(false);
chai_1.expect(_1.value.isPlainObject(['foo', 'bar'])).to.equal(false);
chai_1.expect(_1.value.isPlainObject([])).to.equal(false);
chai_1.expect(_1.value.isPlainObject(new Foo())).to.equal(false);
chai_1.expect(_1.value.isPlainObject(null)).to.equal(false);
chai_1.expect(_1.value.isPlainObject(Object.create(null))).to.equal(false);
});
});
describe('value.isBoolString', function () {
it('is a boolean', function () {
chai_1.expect(_1.value.isBoolString('true')).to.eql(true);
chai_1.expect(_1.value.isBoolString('false')).to.eql(true);
chai_1.expect(_1.value.isBoolString('True')).to.eql(true);
chai_1.expect(_1.value.isBoolString('False')).to.eql(true);
chai_1.expect(_1.value.isBoolString('TRUE')).to.eql(true);
chai_1.expect(_1.value.isBoolString('FALSE')).to.eql(true);
});
it('is not a boolean', function () {
chai_1.expect(_1.value.isBoolString(undefined)).to.eql(false);
chai_1.expect(_1.value.isBoolString('')).to.eql(false);
chai_1.expect(_1.value.isBoolString('HELLO')).to.eql(false);
});
});
describe('value.isBlank', function () {
describe('blank', function () {
it('is blank (nothing)', function () {
chai_1.expect(_1.value.isBlank(undefined)).to.equal(true);
chai_1.expect(_1.value.isBlank(null)).to.equal(true);
});
it('is blank (string)', function () {
chai_1.expect(_1.value.isBlank('')).to.equal(true);
chai_1.expect(_1.value.isBlank(' ')).to.equal(true);
chai_1.expect(_1.value.isBlank(' ')).to.equal(true);
});
it('is blank (array)', function () {
chai_1.expect(_1.value.isBlank([])).to.equal(true);
chai_1.expect(_1.value.isBlank([null])).to.equal(true);
chai_1.expect(_1.value.isBlank([undefined])).to.equal(true);
chai_1.expect(_1.value.isBlank([undefined, null])).to.equal(true);
chai_1.expect(_1.value.isBlank([undefined, null, ''])).to.equal(true);
});
});
describe('NOT blank', function () {
it('is not blank (string)', function () {
chai_1.expect(_1.value.isBlank('a')).to.equal(false);
chai_1.expect(_1.value.isBlank(' .')).to.equal(false);
});
it('is not blank (array)', function () {
chai_1.expect(_1.value.isBlank([1])).to.equal(false);
chai_1.expect(_1.value.isBlank([null, 'value'])).to.equal(false);
chai_1.expect(_1.value.isBlank([null, ' '])).to.equal(false);
});
it('is not blank (other values)', function () {
chai_1.expect(_1.value.isBlank(1)).to.equal(false);
chai_1.expect(_1.value.isBlank({})).to.equal(false);
chai_1.expect(_1.value.isBlank(function () { return 0; })).to.equal(false);
});
});
});
describe('value.isNumeric', function () {
it('is numeric (number)', function () {
chai_1.expect(_1.value.isNumeric(0)).to.equal(true);
chai_1.expect(_1.value.isNumeric(1)).to.equal(true);
chai_1.expect(_1.value.isNumeric(-1)).to.equal(true);
chai_1.expect(_1.value.isNumeric(0.5)).to.equal(true);
chai_1.expect(_1.value.isNumeric(123456.123456)).to.equal(true);
});
it('is numeric (string)', function () {
chai_1.expect(_1.value.isNumeric('0')).to.equal(true);
chai_1.expect(_1.value.isNumeric('1')).to.equal(true);
chai_1.expect(_1.value.isNumeric('-1')).to.equal(true);
chai_1.expect(_1.value.isNumeric('0.5')).to.equal(true);
chai_1.expect(_1.value.isNumeric('123456.123456')).to.equal(true);
});
it('is not numeric', function () {
chai_1.expect(_1.value.isNumeric(null)).to.equal(false);
chai_1.expect(_1.value.isNumeric(undefined)).to.equal(false);
chai_1.expect(_1.value.isNumeric('string')).to.equal(false);
chai_1.expect(_1.value.isNumeric('123px')).to.equal(false);
chai_1.expect(_1.value.isNumeric({})).to.equal(false);
chai_1.expect(_1.value.isNumeric(new Date())).to.equal(false);
});
});
describe('isLetter', function () {
it('is a letter', function () {
chai_1.expect(_1.value.isLetter('A')).to.eql(true);
chai_1.expect(_1.value.isLetter('a')).to.eql(true);
chai_1.expect(_1.value.isLetter('b')).to.eql(true);
chai_1.expect(_1.value.isLetter('z')).to.eql(true);
chai_1.expect(_1.value.isLetter('Z')).to.eql(true);
});
it('is not a letter', function () {
chai_1.expect(_1.value.isLetter(undefined)).to.eql(false);
chai_1.expect(_1.value.isLetter(null)).to.eql(false);
chai_1.expect(_1.value.isLetter('')).to.eql(false);
chai_1.expect(_1.value.isLetter('\n')).to.eql(false);
chai_1.expect(_1.value.isLetter(' ')).to.eql(false);
chai_1.expect(_1.value.isLetter('1')).to.eql(false);
chai_1.expect(_1.value.isLetter('*')).to.eql(false);
chai_1.expect(_1.value.isLetter('.')).to.eql(false);
chai_1.expect(_1.value.isLetter(' a')).to.eql(false);
chai_1.expect(_1.value.isLetter(123)).to.eql(false);
chai_1.expect(_1.value.isLetter({})).to.eql(false);
chai_1.expect(_1.value.isLetter(new Date())).to.eql(false);
});
});
describe('isAlpha', function () {
it('is alphabet letters', function () {
chai_1.expect(_1.value.isAlpha('A')).to.eql(true);
chai_1.expect(_1.value.isAlpha('a')).to.eql(true);
chai_1.expect(_1.value.isAlpha('ABC')).to.eql(true);
});
it('is not all letters', function () {
chai_1.expect(_1.value.isAlpha(undefined)).to.eql(false);
chai_1.expect(_1.value.isAlpha(null)).to.eql(false);
chai_1.expect(_1.value.isAlpha('')).to.eql(false);
chai_1.expect(_1.value.isAlpha('\n')).to.eql(false);
chai_1.expect(_1.value.isAlpha(' ')).to.eql(false);
chai_1.expect(_1.value.isAlpha('1')).to.eql(false);
chai_1.expect(_1.value.isAlpha('*')).to.eql(false);
chai_1.expect(_1.value.isAlpha('.')).to.eql(false);
chai_1.expect(_1.value.isAlpha(' a')).to.eql(false);
chai_1.expect(_1.value.isAlpha(123)).to.eql(false);
chai_1.expect(_1.value.isAlpha({})).to.eql(false);
chai_1.expect(_1.value.isAlpha(new Date())).to.eql(false);
chai_1.expect(_1.value.isAlpha('A:B')).to.eql(false);
chai_1.expect(_1.value.isAlpha('A-B')).to.eql(false);
chai_1.expect(_1.value.isAlpha('A B')).to.eql(false);
});
});
describe('hasWhitespace', function () {
it('has whitespace', function () {
chai_1.expect(_1.value.hasWhitespace(' ')).to.eql(true);
chai_1.expect(_1.value.hasWhitespace(' ')).to.eql(true);
chai_1.expect(_1.value.hasWhitespace('one two')).to.eql(true);
chai_1.expect(_1.value.hasWhitespace(' one two ')).to.eql(true);
});
it('has no whitespace', function () {
chai_1.expect(_1.value.hasWhitespace('')).to.eql(false);
chai_1.expect(_1.value.hasWhitespace('hello')).to.eql(false);
chai_1.expect(_1.value.hasWhitespace('123')).to.eql(false);
});
});
describe('isEmail', function () {
it('is not an email when empty', function () {
chai_1.expect(_1.value.isEmail('')).to.eql(false);
chai_1.expect(_1.value.isEmail(' ')).to.eql(false);
chai_1.expect(_1.value.isEmail()).to.eql(false);
});
it('is not an email address whem not trimmed of whitespace', function () {
chai_1.expect(_1.value.isEmail(' phil@foo.com')).to.eql(false);
chai_1.expect(_1.value.isEmail('phil@foo.com ')).to.eql(false);
chai_1.expect(_1.value.isEmail(' phil@foo.com ')).to.eql(false);
});
it('is not an email address', function () {
chai_1.expect(_1.value.isEmail('phil@foo.c')).to.eql(false);
chai_1.expect(_1.value.isEmail('phil@foo.')).to.eql(false);
chai_1.expect(_1.value.isEmail('@foo.com')).to.eql(false);
chai_1.expect(_1.value.isEmail('foo.com')).to.eql(false);
});
it('is an email', function () {
chai_1.expect(_1.value.isEmail('phil@foo.com')).to.eql(true);
chai_1.expect(_1.value.isEmail('1@1.nz')).to.eql(true);
});
});
//# sourceMappingURL=value.is.test.js.map