From f99dd696cf85ba5a12cdad4c80710e764722e10c Mon Sep 17 00:00:00 2001 From: Zach Galant Date: Thu, 17 Nov 2022 15:20:53 -0600 Subject: [PATCH 1/3] call resetDimensions on Text when we update the label with setText or setLabel. fixes #145 --- src/graphics/text.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/graphics/text.js b/src/graphics/text.js index 37b00355..3b51930a 100644 --- a/src/graphics/text.js +++ b/src/graphics/text.js @@ -122,6 +122,7 @@ class Text extends Thing { ); } this.label = label; + this.resetDimensions() } /** @@ -143,6 +144,7 @@ class Text extends Thing { ); } this.label = label; + this.resetDimensions() } /** From 516309d60ddd4e93dc91758c8454c23af405efb8 Mon Sep 17 00:00:00 2001 From: Zach Galant Date: Thu, 17 Nov 2022 15:23:57 -0600 Subject: [PATCH 2/3] update tests --- test/text.test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/text.test.js b/test/text.test.js index 8b018cc8..818c7d1f 100644 --- a/test/text.test.js +++ b/test/text.test.js @@ -87,6 +87,12 @@ describe('Text', () => { t.setText('fdsa'); expect(t.label).toEqual('fdsa'); }); + it('Updates dimensions', () => { + const t = new Text('mmmm'); + const originalWidth = t.getWidth(); + t.setText('mmmmmmm'); + expect(t.getWidth()).toBeGreaterThan(originalWidth); + }); }); describe('setLabel', () => { it('Errors for invalid arguments', () => { @@ -109,6 +115,12 @@ describe('Text', () => { t.setLabel('fdsa'); expect(t.label).toEqual('fdsa'); }); + it('Updates dimensions', () => { + const t = new Text('mmmm'); + const originalWidth = t.getWidth(); + t.setLabel('mmmmmmm'); + expect(t.getWidth()).toBeGreaterThan(originalWidth); + }); }); describe('containsPoint', () => { it('Checks if a point is contained in the Text', () => { From bbef2328d337be0e3a9712b1c449f18f024b7c8d Mon Sep 17 00:00:00 2001 From: Zach Galant Date: Thu, 17 Nov 2022 15:32:49 -0600 Subject: [PATCH 3/3] bump version to 0.3.5 --- package-lock.json | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index a3aa48b4..21e18d2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "chs-js-lib", "version": "0.3.4", "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 1a9729cf..f40c7e35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chs-js-lib", - "version": "0.3.4", + "version": "0.3.5", "description": "JavaScript graphics library used in CodeHS's platform.", "main": "dist/chs.cjs", "module": "dist/chs.mjs",