UNPKG

1.24 kBJavaScriptView Raw
1'use strict';
2
3var nativeIsFinite = require('../src/finite/native'),
4 polyfillIsFinite = require('../src/finite/polyfill'),
5 isFinite = require('../src/finite'),
6 assert = require('chai').assert;
7
8describe('finite', function() {
9 it('picks native or polyfill function', function() {
10 assert.ok(isFinite === nativeIsFinite || isFinite === polyfillIsFinite);
11 });
12
13 ['native', 'polyfill'].forEach(function(type) {
14 var isFinite = type === 'native' ? nativeIsFinite : polyfillIsFinite;
15
16 (typeof isFinite === 'undefined' ? describe.skip : describe)(type, function() {
17 it('returns false if value is not a number', function() {
18 assert.ok(isFinite(NaN) === false);
19 assert.ok(isFinite('') === false);
20 assert.ok(isFinite('1') === false);
21 });
22
23 it('returns false if value is infinity', function() {
24 assert.ok(isFinite(Infinity) === false);
25 assert.ok(isFinite(-Infinity) === false);
26 });
27
28 it('returns true if value is a finite number', function() {
29 assert.ok(isFinite(1));
30 assert.ok(isFinite(10.234));
31 });
32 });
33 });
34});