1 | 'use strict';
|
2 |
|
3 |
|
4 | var should = require('chai').should();
|
5 | var expect = require('chai').expect;
|
6 |
|
7 |
|
8 |
|
9 | var JSUtil = require('../../lib/index').Js
|
10 |
|
11 | describe('js utils', function() {
|
12 |
|
13 | describe('isValidJSON', function() {
|
14 |
|
15 | var hexa = '8080808080808080808080808080808080808080808080808080808080808080';
|
16 | var json = '{"key": ["value", "value2"]}';
|
17 | var json2 = '["value", "value2", {"key": "value"}]';
|
18 |
|
19 | it('does not mistake an integer as valid json object', function() {
|
20 | var valid = JSUtil.isValidJSON(hexa);
|
21 | valid.should.equal(false);
|
22 | });
|
23 |
|
24 | it('correctly validates a json object', function() {
|
25 | var valid = JSUtil.isValidJSON(json);
|
26 | valid.should.equal(true);
|
27 | });
|
28 |
|
29 | it('correctly validates an array json object', function() {
|
30 | var valid = JSUtil.isValidJSON(json);
|
31 | valid.should.equal(true);
|
32 | });
|
33 |
|
34 | });
|
35 |
|
36 | describe('isNaturalNumber', function() {
|
37 | it('false for float', function() {
|
38 | var a = JSUtil.isNaturalNumber(0.1);
|
39 | a.should.equal(false);
|
40 | });
|
41 |
|
42 | it('false for string float', function() {
|
43 | var a = JSUtil.isNaturalNumber('0.1');
|
44 | a.should.equal(false);
|
45 | });
|
46 |
|
47 | it('false for string integer', function() {
|
48 | var a = JSUtil.isNaturalNumber('1');
|
49 | a.should.equal(false);
|
50 | });
|
51 |
|
52 | it('false for negative integer', function() {
|
53 | var a = JSUtil.isNaturalNumber(-1);
|
54 | a.should.equal(false);
|
55 | });
|
56 |
|
57 | it('false for negative integer string', function() {
|
58 | var a = JSUtil.isNaturalNumber('-1');
|
59 | a.should.equal(false);
|
60 | });
|
61 |
|
62 | it('false for infinity', function() {
|
63 | var a = JSUtil.isNaturalNumber(Infinity);
|
64 | a.should.equal(false);
|
65 | });
|
66 |
|
67 | it('false for NaN', function() {
|
68 | var a = JSUtil.isNaturalNumber(NaN);
|
69 | a.should.equal(false);
|
70 | });
|
71 |
|
72 | it('true for zero', function() {
|
73 | var a = JSUtil.isNaturalNumber(0);
|
74 | a.should.equal(true);
|
75 | });
|
76 |
|
77 | it('true for positive integer', function() {
|
78 | var a = JSUtil.isNaturalNumber(1000);
|
79 | a.should.equal(true);
|
80 | });
|
81 |
|
82 | });
|
83 |
|
84 | });
|