From ed238bfe6f1c01d269b7e16e1028710088ddf308 Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Thu, 17 Apr 2025 10:28:15 -0400 Subject: [PATCH] Removing colourPreview.js --- app/assets/javascripts/colourPreview.js | 29 ----- tests/javascripts/colourPreview.test.js | 139 ------------------------ 2 files changed, 168 deletions(-) delete mode 100644 app/assets/javascripts/colourPreview.js delete mode 100644 tests/javascripts/colourPreview.test.js diff --git a/app/assets/javascripts/colourPreview.js b/app/assets/javascripts/colourPreview.js deleted file mode 100644 index 05d82e64b..000000000 --- a/app/assets/javascripts/colourPreview.js +++ /dev/null @@ -1,29 +0,0 @@ -(function(Modules) { - "use strict"; - - let isSixDigitHex = value => value.match(/^#[0-9A-F]{6}$/i); - let colourOrWhite = value => isSixDigitHex(value) ? value : '#FFFFFF'; - - Modules.ColourPreview = function() { - - this.start = component => { - - this.$input = $(component); - - this.$input.closest('.usa-form-group').append( - this.$preview = $('') - ); - - this.$input - .on('input', this.update) - .trigger('input'); - - }; - - this.update = () => this.$preview.css( - 'background', colourOrWhite(this.$input.val()) - ); - - }; - -})(window.GOVUK.Modules); diff --git a/tests/javascripts/colourPreview.test.js b/tests/javascripts/colourPreview.test.js deleted file mode 100644 index 855c2a048..000000000 --- a/tests/javascripts/colourPreview.test.js +++ /dev/null @@ -1,139 +0,0 @@ -const helpers = require('./support/helpers.js'); - -beforeAll(() => { - require('../../app/assets/javascripts/colourPreview.js'); -}); - -afterAll(() => { - require('./support/teardown.js'); -}); - -describe('Colour preview', () => { - - let field; - let textbox; - let swatchEl; - - beforeEach(() => { - - // set up DOM - document.body.innerHTML = ` -
- - -
`; - - field = document.querySelector('.usa-form-group'); - textbox = document.querySelector('input[type=text]'); - - }); - - afterEach(() => { - - document.body.innerHTML = ''; - - }); - - describe("When the page loads", () => { - - test("It should add a swatch element for the preview", () => { - - // start the module - window.GOVUK.modules.start(); - - swatchEl = document.querySelector('.textbox-colour-preview'); - - expect(swatchEl).not.toBeNull(); - - }); - - test("If the textbox is empty it should make the swatch white", () => { - - // start the module - window.GOVUK.modules.start(); - - swatchEl = document.querySelector('.textbox-colour-preview'); - - // textbox defaults to empty - // colours are output in RGB - expect(swatchEl.style.background).toEqual('rgb(255, 255, 255)'); - - }); - - test("If the textbox has a value which is a hex code it should add that colour to the swatch", () => { - - textbox.setAttribute('value', '#00FF00'); - - // start the module - window.GOVUK.modules.start(); - - swatchEl = document.querySelector('.textbox-colour-preview'); - - // colours are output in RGB - expect(swatchEl.style.background).toEqual('rgb(0, 255, 0)'); - - }); - - test("If the textbox has a value which isn't a hex code it should make the swatch white", () => { - - textbox.setAttribute('value', 'green'); - - // start the module - window.GOVUK.modules.start(); - - swatchEl = document.querySelector('.textbox-colour-preview'); - - // colours are output in RGB - expect(swatchEl.style.background).toEqual('rgb(255, 255, 255)'); - - }); - - }); - - describe("When input is added to the textbox", () => { - - beforeEach(() => { - - // start the module - window.GOVUK.modules.start(); - - swatchEl = document.querySelector('.textbox-colour-preview'); - - }); - - test("If the textbox is empty it should make the swatch white", () => { - - helpers.triggerEvent(document.querySelector('input[type=text]'), 'input'); - - // textbox defaults to empty - expect(swatchEl.style.background).toEqual('rgb(255, 255, 255)'); - - }); - - test("If the textbox has a value which is a hex code it should add that colour to the swatch", () => { - - textbox.setAttribute('value', '#00FF00'); - - helpers.triggerEvent(document.querySelector('input[type=text]'), 'input'); - - // textbox defaults to empty - expect(swatchEl.style.background).toEqual('rgb(0, 255, 0)'); - - }); - - test("If the textbox has a value which isn't a hex code it should make the swatch white", () => { - - textbox.setAttribute('value', 'green'); - - helpers.triggerEvent(document.querySelector('input[type=text]'), 'input'); - - // textbox defaults to empty - expect(swatchEl.style.background).toEqual('rgb(255, 255, 255)'); - - }); - - }); - -});