From 61ce05599615d1287ec1a6413e264f75326ac24b Mon Sep 17 00:00:00 2001 From: Simon Brown Date: Tue, 2 Nov 2021 15:42:18 +0000 Subject: [PATCH 1/2] Reproduction of Chrome 96 text scale bug #660 --- cypress/integration/ui/issues/issue-660.js | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 cypress/integration/ui/issues/issue-660.js diff --git a/cypress/integration/ui/issues/issue-660.js b/cypress/integration/ui/issues/issue-660.js new file mode 100644 index 00000000..a93c4562 --- /dev/null +++ b/cypress/integration/ui/issues/issue-660.js @@ -0,0 +1,49 @@ +import { + visitAndApproveStorage +} from '../../../support/ui-test-helper.js'; + +// See https://github.com/SVG-Edit/svgedit/issues/660 +describe('Fix issue 660', function () { + beforeEach(() => { + visitAndApproveStorage(); + }); + + it('can resize text', function () { + cy.get('#tool_source').click(); + cy.get('#svg_source_textarea') + .type('{selectall}', { force: true }) + .type(` + + Layer 1 + hello + + `, { force: true, parseSpecialCharSequences: false }); + cy.get('#tool_source_save').click({ force: true }); + cy.get('#a_text').should('exist'); + cy.get('#a_text') + .trigger('mousedown', { which: 1, force: true }) + .trigger('mouseup', { force: true }); + cy.get('#selectorGrip_resize_s') + .trigger('mousedown', { which: 1, force: true }) + + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 20, { force: true }) + + // // .trigger('mousemove', 0, 100, { force: true }) // did not produce it + // // .trigger('mousemove', 0, 100, { force: true }) + + // // .trigger('mousemove', 0, 200, { force: true }) // did not produce it + .trigger('mouseup', { force: true }); + // svgedit use the #text text field to capture the text + cy.get('#a_text').should('have.attr', 'transform') + .and('equal', 'matrix(1 0 0 4.54167 0 -540.104)'); // 10x20 + }); +}); From 93bf757bfa620e49c27c5e2ea2fd3803bf697df8 Mon Sep 17 00:00:00 2001 From: Simon Brown Date: Tue, 2 Nov 2021 16:17:05 +0000 Subject: [PATCH 2/2] simpler test to trigger bug --- cypress/integration/ui/issues/issue-660.js | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/cypress/integration/ui/issues/issue-660.js b/cypress/integration/ui/issues/issue-660.js index a93c4562..bacfd0fe 100644 --- a/cypress/integration/ui/issues/issue-660.js +++ b/cypress/integration/ui/issues/issue-660.js @@ -26,16 +26,9 @@ describe('Fix issue 660', function () { cy.get('#selectorGrip_resize_s') .trigger('mousedown', { which: 1, force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) - .trigger('mousemove', 0, 20, { force: true }) + .trigger('mousemove', 0, 100, { force: true }) + .trigger('mousemove', 0, 100, { force: true }) + .trigger('mousemove', 0, 100, { force: true }) // // .trigger('mousemove', 0, 100, { force: true }) // did not produce it // // .trigger('mousemove', 0, 100, { force: true }) @@ -44,6 +37,6 @@ describe('Fix issue 660', function () { .trigger('mouseup', { force: true }); // svgedit use the #text text field to capture the text cy.get('#a_text').should('have.attr', 'transform') - .and('equal', 'matrix(1 0 0 4.54167 0 -540.104)'); // 10x20 + .and('equal', 'matrix(1 0 0 7.0625 0 -924.531)'); // Chrome 96 is matrix(1 0 0 4.17431 0 -325.367) }); });