to_b
by alr3
HTML
<div id="results"></div>
CSS
#results div { width: 80%; clear: both; padding: 5px; margin:3px; border: #eee 1px solid; }
.pass { background-color: #C4FFC3; }
.fail { background-color: #FF7E7E; }
JavaScript
/// Converts a value of any supported type into a true boolean
/// Supported Type: [string, int, int as string]
function to_b(some_boolean) {
var parsed_bool = null;
//console.log(typeof(some_boolean));
if (typeof(some_boolean) === 'boolean') {
parsed_bool = some_boolean === true ? true
: some_boolean === false ? false
: null;
} else if (typeof(some_boolean) === 'string') {
parsed_bool = some_boolean.toLowerCase() === 'true' ? true
: some_boolean.toLowerCase() === 'false' ? false
: some_boolean.toLowerCase() === '0' ? false
: some_boolean.toLowerCase() === '1' ? true
: null;
} else if (typeof(some_boolean) === 'number') {
parsed_bool = some_boolean === 0 ? false
: some_boolean === 1 ? true
: null;
} else if (typeof(some_boolean) === 'function') {
var args = [].splice.call(arguments,0);
args.splice(0, 1);
var func_result = some_boolean.apply(this, args);
parsed_bool = to_b(func_result);
}
return parsed_bool;
}
function a(is_good, txt) {
//console.log(is_good.toString() + ' ' + txt);
$('#results').append('<div class="' + (is_good ? 'pass' : 'fail') + '">' + txt + '</div>');
}
//TEST Functions
function subtract_me(a, b) {
//console.log(this + ' subtract_me ' + arguments.length.toString());
return a - b;
}
//RUN TESTS
$(function() {
var test_var = to_b('true');
a(test_var === true, 'Should be true: ' + test_var);
var test_var = to_b('True');
a(test_var === true, 'Should be true: ' + test_var);
test_var = to_b('1');
a(test_var === true,'Should be true: ' + test_var);
test_var = to_b(1);
a(test_var === true,'Should be true: ' + test_var);
test_var = to_b('false');
a(test_var === false,'Should be false: ' +...