Merge pull request #9229 from timvandermeij/unit-tests-util

Implement unit tests for utility functions that perform type/value checks
This commit is contained in:
Tim van der Meij 2017-12-04 22:48:24 +01:00 committed by GitHub
commit f299473697
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,8 +14,8 @@
*/
import {
bytesToString, ReadableStream, removeNullCharacters, stringToBytes,
stringToPDFString
bytesToString, isArrayBuffer, isBool, isEmptyObj, isNum, isSpace, isString,
ReadableStream, removeNullCharacters, stringToBytes, stringToPDFString
} from '../../src/shared/util';
describe('util', function() {
@ -50,6 +50,92 @@ describe('util', function() {
});
});
describe('isArrayBuffer', function() {
it('handles array buffer values', function() {
expect(isArrayBuffer(new ArrayBuffer(0))).toEqual(true);
expect(isArrayBuffer(new Uint8Array(0))).toEqual(true);
});
it('handles non-array buffer values', function() {
expect(isArrayBuffer('true')).toEqual(false);
expect(isArrayBuffer(1)).toEqual(false);
expect(isArrayBuffer(null)).toEqual(false);
expect(isArrayBuffer(undefined)).toEqual(false);
});
});
describe('isBool', function() {
it('handles boolean values', function() {
expect(isBool(true)).toEqual(true);
expect(isBool(false)).toEqual(true);
});
it('handles non-boolean values', function() {
expect(isBool('true')).toEqual(false);
expect(isBool('false')).toEqual(false);
expect(isBool(1)).toEqual(false);
expect(isBool(0)).toEqual(false);
expect(isBool(null)).toEqual(false);
expect(isBool(undefined)).toEqual(false);
});
});
describe('isEmptyObj', function() {
it('handles empty objects', function() {
expect(isEmptyObj({})).toEqual(true);
});
it('handles non-empty objects', function() {
expect(isEmptyObj({ foo: 'bar', })).toEqual(false);
});
});
describe('isNum', function() {
it('handles numeric values', function() {
expect(isNum(1)).toEqual(true);
expect(isNum(0)).toEqual(true);
expect(isNum(-1)).toEqual(true);
expect(isNum(1000000000000000000)).toEqual(true);
expect(isNum(12.34)).toEqual(true);
});
it('handles non-numeric values', function() {
expect(isNum('true')).toEqual(false);
expect(isNum(true)).toEqual(false);
expect(isNum(null)).toEqual(false);
expect(isNum(undefined)).toEqual(false);
});
});
describe('isSpace', function() {
it('handles space characters', function() {
expect(isSpace(0x20)).toEqual(true);
expect(isSpace(0x09)).toEqual(true);
expect(isSpace(0x0D)).toEqual(true);
expect(isSpace(0x0A)).toEqual(true);
});
it('handles non-space characters', function() {
expect(isSpace(0x0B)).toEqual(false);
expect(isSpace(null)).toEqual(false);
expect(isSpace(undefined)).toEqual(false);
});
});
describe('isString', function() {
it('handles string values', function() {
expect(isString('foo')).toEqual(true);
expect(isString('')).toEqual(true);
});
it('handles non-string values', function() {
expect(isString(true)).toEqual(false);
expect(isString(1)).toEqual(false);
expect(isString(null)).toEqual(false);
expect(isString(undefined)).toEqual(false);
});
});
describe('stringToBytes', function() {
it('handles non-string arguments', function() {
expect(function() {