JSFiddle - React, Tailwind, and code Playground
by phsiao2000
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine-html.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/boot.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine.min.css">
JavaScript
function isNumeric (num) { return !isNaN(parseFloat(num)) && !isNaN(Number(num)); }
describe('isNumeric', function () {
describe('should return true', function () {
it('when given an integer', function () {
expect(isNumeric(123)).toBe(true)
})
it('when given a floating number', function () {
expect(isNumeric(1.23)).toBe(true)
})
it('when given an exponential number', function () {
expect(isNumeric(1E23)).toBe(true)
})
it('when given a hex number', function () {
expect(isNumeric(0x1)).toBe(true)
})
it('when given a string that\'s just an integer', function () {
expect(isNumeric('123')).toBe(true)
})
it('when given a string that\'s just a floating number', function () {
expect(isNumeric('1.23')).toBe(true)
})
it('when given a string that\'s just an exponential number', function () {
expect(isNumeric('1E23')).toBe(true)
})
it('when given an hex string', function () {
expect(isNumeric('0x1')).toBe(true)
})
})
describe('should return false', function () {
it('when given NaN', function () {
expect(isNumeric(NaN)).toBe(false)
})
it('when given a string that\'s not just a number', function () {
expect(isNumeric('123abc')).toBe(false)
})
it('when given an empty string', function () {
expect(isNumeric('')).toBe(false)
})
var subjects = [[], {}, null, function () {}, undefined, true, false]
subjects.forEach(function (value) {
it('when given ' + ({}).toString.call(value), function () {
expect(isNumeric(value)).toBe(false)
})
})
})
})