to boolean
to boolean
by ozzymcduff
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://code.jquery.com/qunit/qunit-1.19.0.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.19.0.css">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
JavaScript
function toBoolean(val) {
if ((typeof val) === 'string') {
return val.toLowerCase() === 'true';
} else if (typeof (val) === 'boolean') {
return val;
}
return !!val;
}
test("toBoolean", function (assert) {
assert.strictEqual(toBoolean('true'), true);
assert.strictEqual(toBoolean('True'), true);
assert.strictEqual(toBoolean(true), true);
assert.strictEqual(toBoolean(1), true);
assert.strictEqual(toBoolean('false'), false);
assert.strictEqual(toBoolean('False'), false);
assert.strictEqual(toBoolean(false), false);
assert.strictEqual(toBoolean(0), false);
});