From 6888a381996a1e7df932729690ec3ebe5fe57cdc Mon Sep 17 00:00:00 2001 From: James Rodovich Date: Fri, 31 May 2019 16:36:18 -0500 Subject: [PATCH] Fix parsing number values using scientific notation w/ a capital E. (#5731) * Test parsing number values using scientific notation w/ a capital E. * Fix parsing number values using scientific notation w/ a capital E. --- HEADER.js | 2 +- test/unit/parser.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HEADER.js b/HEADER.js index 9328dee187a..9a7ba12b99f 100644 --- a/HEADER.js +++ b/HEADER.js @@ -72,7 +72,7 @@ fabric.SHARED_ATTRIBUTES = [ * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion. */ fabric.DPI = 96; -fabric.reNum = '(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:e[-+]?\\d+)?)'; +fabric.reNum = '(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)'; fabric.fontPaths = { }; fabric.iMatrix = [1, 0, 0, 1, 0, 0]; diff --git a/test/unit/parser.js b/test/unit/parser.js index ef58d22f8d5..7938d9d87f3 100644 --- a/test/unit/parser.js +++ b/test/unit/parser.js @@ -246,7 +246,7 @@ assert.ok(fabric.parsePointsAttribute); var element = fabric.document.createElement('polygon'); - element.setAttribute('points', '10, 12 20 ,22, -0.52,0.001 2.3e2,2.3e-2, 10,-1 '); + element.setAttribute('points', '10, 12 20 ,22, -0.52,0.001 2.3e2,2.3E-2, 10,-1 '); var actualPoints = fabric.parsePointsAttribute(element.getAttribute('points')); @@ -304,9 +304,9 @@ parsedValue = fabric.parseTransformAttribute(element.getAttribute('transform')); assert.deepEqual(parsedValue, [1,1.3820043381762832,0,1,0,0]); - element.setAttribute('transform', 'matrix(1,2,3,4,5,6)'); + element.setAttribute('transform', 'matrix(1,2,3.3,-4,5E1,6e-1)'); parsedValue = fabric.parseTransformAttribute(element.getAttribute('transform')); - assert.deepEqual(parsedValue, [1,2,3,4,5,6]); + assert.deepEqual(parsedValue, [1,2,3.3,-4,50,0.6]); element.setAttribute('transform', 'translate(21,31) translate(11,22)'); parsedValue = fabric.parseTransformAttribute(element.getAttribute('transform'));