From 7b80ac883a6d3361009cf519b9c68ab28dee1e05 Mon Sep 17 00:00:00 2001 From: Christian Paul Date: Sun, 1 May 2022 15:20:17 +0200 Subject: [PATCH] Add more unit tests --- src/BrailleBuffer.spec.js | 10 ++++++++++ src/Renderer.spec.js | 21 +++++++++++++++++++++ src/Styler.spec.js | 12 ++++++++++++ src/__snapshots__/Renderer.spec.js.snap | Bin 0 -> 1136 bytes 4 files changed, 43 insertions(+) create mode 100644 src/BrailleBuffer.spec.js create mode 100644 src/Renderer.spec.js create mode 100644 src/Styler.spec.js create mode 100644 src/__snapshots__/Renderer.spec.js.snap diff --git a/src/BrailleBuffer.spec.js b/src/BrailleBuffer.spec.js new file mode 100644 index 0000000..b08c795 --- /dev/null +++ b/src/BrailleBuffer.spec.js @@ -0,0 +1,10 @@ +import BrailleBuffer from './BrailleBuffer.js'; + +const termReset = '\x1B[39;49m'; + +describe('BrailleBuffer', () => { + test('starts a frame with term reset characters', async () => { + const brailleBuffer = new BrailleBuffer(1, 1); + expect(brailleBuffer.frame().startsWith(termReset)).toBe(true); + }); +}); diff --git a/src/Renderer.spec.js b/src/Renderer.spec.js new file mode 100644 index 0000000..2621a55 --- /dev/null +++ b/src/Renderer.spec.js @@ -0,0 +1,21 @@ +import fsPromises from 'fs/promises'; +import Renderer from './Renderer'; +import TileSource from './TileSource.js'; + +const center = { + lat: 52.51298, + lon: 13.42012, +}; + +describe('Renderer', () => { + describe('with a HTTP source', () => { + test('does not crash when creating a Renderer', async () => { + const tileSource = new TileSource(); + await tileSource.init('http://mapscii.me/'); + const style = JSON.parse(await fsPromises.readFile('./styles/dark.json')); + const renderer = new Renderer(tileSource, style); + renderer.setSize(30, 30); + expect(await renderer.draw(center, 13)).toMatchSnapshot(); + }); + }); +}); diff --git a/src/Styler.spec.js b/src/Styler.spec.js new file mode 100644 index 0000000..98e0456 --- /dev/null +++ b/src/Styler.spec.js @@ -0,0 +1,12 @@ +import fsPromises from 'fs/promises'; +import Styler from './Styler'; + +describe('Styler', () => { + describe('getStyleFor', () => { + test('returns false for landuse_park, line', async () => { + const style = JSON.parse(await fsPromises.readFile('./styles/dark.json')); + const styler = new Styler(style); + expect(styler.getStyleFor('landuse_park', 'line')).toBe(false); + }); + }); +}); diff --git a/src/__snapshots__/Renderer.spec.js.snap b/src/__snapshots__/Renderer.spec.js.snap new file mode 100644 index 0000000000000000000000000000000000000000..2c256d74a03ead0ad5c8ee280c406c8e40f09eb3 GIT binary patch literal 1136 zcma)4NlU{(6!tuSp_jq47+bYii-->m-kD2iAibNQ4Bc@k8gX6rqMZOJ9OE|S8UyM=vI7)>W)*fCpE2Pn!}}aZEbaC zaejdiwo@@J$Ij-Km{DXFv*>o&(P^H}W-<%ZHaD#TqeYY1)IgzvmA7@etuq6kEbo+! z5<)xFcy5JG(Ht3!WfOC;>~vC(Wk)B{h=ku<+rAUp--4*BBweng*1<)p>xF46X;MXV z8zA3QaM=J6cGQ>skN6lIW8k=&O4Va8-zR#4*aeQ@7I1uUaQ*R$a4db6s_?;*+Jq>* zUP0c2`{AukoFJlW16(;-aRmaiJpexr1iNGKx*r%bdw<6>ayHlz$7^{94~$3h2K>`w z1vhgCvIe5262~DNbTlI;#6x_<$>qTJz^(cx_zdy|WVo&pu{x(uq(MvkyyCHx{HIuLw6#nc8NgCv(G-xqnY!~g&Q literal 0 HcmV?d00001