From 67d696329682daf359e02d1eac5bc2ccf7aaa660 Mon Sep 17 00:00:00 2001 From: Jaga Santagostino Date: Thu, 16 Feb 2017 19:44:44 +0100 Subject: [PATCH] Unit tests for to-electron-background-color (#1409) * add initial unit tests for to-electron-background-color * extract isHexFile to test/testUtils --- package.json | 2 + test/testUtils/is-hex-color.js | 5 ++ .../unit/to-electron-background-color.test.js | 52 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 test/testUtils/is-hex-color.js create mode 100644 test/unit/to-electron-background-color.test.js diff --git a/package.json b/package.json index 30596344..3a9a6ef1 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "build": "cross-env NODE_ENV=production webpack", "lint": "xo", "test": "npm run lint", + "test:unit": "ava test/unit", + "test:unit:watch": "npm run test:unit -- --watch", "prepush": "npm test", "postinstall": "install-app-deps && npm run rebuild-node-pty", "rebuild-node-pty": "electron-rebuild -f -w app/node_modules/node-pty -m app", diff --git a/test/testUtils/is-hex-color.js b/test/testUtils/is-hex-color.js new file mode 100644 index 00000000..310f7d09 --- /dev/null +++ b/test/testUtils/is-hex-color.js @@ -0,0 +1,5 @@ +function isHexColor(color) { + return /(^#[0-9A-F]{6,8}$)|(^#[0-9A-F]{3}$)/i.test(color); // https://regex101.com/ +} + +module.exports.isHexColor = isHexColor; diff --git a/test/unit/to-electron-background-color.test.js b/test/unit/to-electron-background-color.test.js new file mode 100644 index 00000000..a7fe69b9 --- /dev/null +++ b/test/unit/to-electron-background-color.test.js @@ -0,0 +1,52 @@ +import test from 'ava'; +import toElectronBackgroundColor from '../../app/utils/to-electron-background-color'; +import {isHexColor} from '../testUtils/is-hex-color'; + +test('toElectronBackgroundColor', t => { + t.false(false); +}); + +test(`returns a color that's in hex`, t => { + const hexColor = '#BADA55'; + const rgbColor = 'rgb(0,0,0)'; + const rgbaColor = 'rgb(0,0,0, 55)'; + const hslColor = 'hsl(15, 100%, 50%)'; + const hslaColor = 'hsl(15, 100%, 50%, 1)'; + const colorKeyword = 'pink'; + + t.true( + isHexColor( + toElectronBackgroundColor(hexColor) + ) + ); + + t.true( + isHexColor( + toElectronBackgroundColor(rgbColor) + ) + ); + + t.true( + isHexColor( + toElectronBackgroundColor(rgbaColor) + ) + ); + + t.true( + isHexColor( + toElectronBackgroundColor(hslColor) + ) + ); + + t.true( + isHexColor( + toElectronBackgroundColor(hslaColor) + ) + ); + + t.true( + isHexColor( + toElectronBackgroundColor(colorKeyword) + ) + ); +});