diff --git a/src/utils.js b/src/utils.js index 94d09cf..6d0701c 100644 --- a/src/utils.js +++ b/src/utils.js @@ -59,8 +59,8 @@ const utils = { hex2rgb: (color) => { if (typeof color !== 'string') return [255, 0, 0]; - if (/^#[a-fA-F0-9]{3,6}$/.test()) { - throw new Error('#{color} isn\'t a supported hex color'); + if (!/^#[a-fA-F0-9]{3,6}$/.test(color)) { + throw new Error(`${color} isn't a supported hex color`); } color = color.substr(1); diff --git a/src/utils.spec.js b/src/utils.spec.js new file mode 100644 index 0000000..fe946a9 --- /dev/null +++ b/src/utils.spec.js @@ -0,0 +1,28 @@ +'use strict'; +const utils = require('./utils'); + +describe('utils', () => { + describe('hex2rgb', () => { + test('#ff0000', () => { + expect(utils.hex2rgb('#ff0000')).toEqual([255,0,0]); + }); + test('#ffff00', () => { + expect(utils.hex2rgb('#ffff00')).toEqual([255,255,0]); + }); + test('#0000ff', () => { + expect(utils.hex2rgb('#0000ff')).toEqual([0,0,255]); + }); + test('#112233', () => { + expect(utils.hex2rgb('#112233')).toEqual([17,34,51]); + }); + test('#888', () => { + expect(utils.hex2rgb('#888')).toEqual([136,136,136]); + }); + test('33', () => { + function wrapper() { + utils.hex2rgb('33'); + } + expect(wrapper).toThrowError('isn\'t a supported hex color'); + }); + }); +});