UNPKG

swatchjs-utils

Version:

Utilities for SwatchJS, a framework for easily creating and exposing APIs as methods

66 lines (52 loc) 3.14 kB
'use strict'; var _require = require('chai'), expect = _require.expect; var booleanParsers = require('../../../lib/api/parsers/boolean'); describe('parsers.boolean', function () { describe('parseBoolean', function () { it('should parse and coerce param to boolean', function () { expect(booleanParsers.parseBoolean()).to.equal(false); expect(booleanParsers.parseBoolean(undefined)).to.equal(false); expect(booleanParsers.parseBoolean(true)).to.equal(true); expect(booleanParsers.parseBoolean('true')).to.equal(true); expect(booleanParsers.parseBoolean(false)).to.equal(false); expect(booleanParsers.parseBoolean('false')).to.equal(false); expect(booleanParsers.parseBoolean('')).to.equal(false); expect(booleanParsers.parseBoolean(0)).to.equal(false); expect(booleanParsers.parseBoolean(null)).to.equal(false); expect(booleanParsers.parseBoolean('value')).to.equal(true); expect(booleanParsers.parseBoolean('argument1')).to.equal(true); expect(booleanParsers.parseBoolean(' a_value ')).to.equal(true); expect(booleanParsers.parseBoolean('test.value')).to.equal(true); expect(booleanParsers.parseBoolean(100)).to.equal(true); expect(booleanParsers.parseBoolean(12345)).to.equal(true); expect(booleanParsers.parseBoolean({})).to.equal(true); expect(booleanParsers.parseBoolean({ a: 100 })).to.equal(true); expect(booleanParsers.parseBoolean([])).to.equal(true); expect(booleanParsers.parseBoolean(['a', 'b', 'c'])).to.equal(true); }); }); describe('parseOptionalBoolean', function () { it('should parse and coerce param to boolean', function () { expect(booleanParsers.parseOptionalBoolean()).to.equal(undefined); expect(booleanParsers.parseOptionalBoolean(null)).to.equal(undefined); expect(booleanParsers.parseOptionalBoolean(undefined)).to.equal(undefined); expect(booleanParsers.parseOptionalBoolean(true)).to.equal(true); expect(booleanParsers.parseOptionalBoolean('true')).to.equal(true); expect(booleanParsers.parseOptionalBoolean(false)).to.equal(false); expect(booleanParsers.parseOptionalBoolean('false')).to.equal(false); expect(booleanParsers.parseOptionalBoolean('')).to.equal(false); expect(booleanParsers.parseOptionalBoolean(0)).to.equal(false); expect(booleanParsers.parseOptionalBoolean('value')).to.equal(true); expect(booleanParsers.parseOptionalBoolean('argument1')).to.equal(true); expect(booleanParsers.parseOptionalBoolean(' a_value ')).to.equal(true); expect(booleanParsers.parseOptionalBoolean('test.value')).to.equal(true); expect(booleanParsers.parseOptionalBoolean(100)).to.equal(true); expect(booleanParsers.parseOptionalBoolean(12345)).to.equal(true); expect(booleanParsers.parseOptionalBoolean({})).to.equal(true); expect(booleanParsers.parseOptionalBoolean({ a: 100 })).to.equal(true); expect(booleanParsers.parseOptionalBoolean([])).to.equal(true); expect(booleanParsers.parseOptionalBoolean(['a', 'b', 'c'])).to.equal(true); }); }); });