You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.0 KiB
83 lines
2.0 KiB
'use strict';
|
|
/* jshint unused: false */
|
|
|
|
var should = require('chai').should();
|
|
var expect = require('chai').expect;
|
|
|
|
var bch = require('../..');
|
|
var JSUtil = bch.util.js;
|
|
|
|
describe('js utils', function() {
|
|
|
|
describe('isValidJSON', function() {
|
|
|
|
var hexa = '8080808080808080808080808080808080808080808080808080808080808080';
|
|
var json = '{"key": ["value", "value2"]}';
|
|
var json2 = '["value", "value2", {"key": "value"}]';
|
|
|
|
it('does not mistake an integer as valid json object', function() {
|
|
var valid = JSUtil.isValidJSON(hexa);
|
|
valid.should.equal(false);
|
|
});
|
|
|
|
it('correctly validates a json object', function() {
|
|
var valid = JSUtil.isValidJSON(json);
|
|
valid.should.equal(true);
|
|
});
|
|
|
|
it('correctly validates an array json object', function() {
|
|
var valid = JSUtil.isValidJSON(json);
|
|
valid.should.equal(true);
|
|
});
|
|
|
|
});
|
|
|
|
describe('isNaturalNumber', function() {
|
|
it('false for float', function() {
|
|
var a = JSUtil.isNaturalNumber(0.1);
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for string float', function() {
|
|
var a = JSUtil.isNaturalNumber('0.1');
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for string integer', function() {
|
|
var a = JSUtil.isNaturalNumber('1');
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for negative integer', function() {
|
|
var a = JSUtil.isNaturalNumber(-1);
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for negative integer string', function() {
|
|
var a = JSUtil.isNaturalNumber('-1');
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for infinity', function() {
|
|
var a = JSUtil.isNaturalNumber(Infinity);
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('false for NaN', function() {
|
|
var a = JSUtil.isNaturalNumber(NaN);
|
|
a.should.equal(false);
|
|
});
|
|
|
|
it('true for zero', function() {
|
|
var a = JSUtil.isNaturalNumber(0);
|
|
a.should.equal(true);
|
|
});
|
|
|
|
it('true for positive integer', function() {
|
|
var a = JSUtil.isNaturalNumber(1000);
|
|
a.should.equal(true);
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|