Skip to content

Commit 578c2bd

Browse files
author
wout
committed
Fix in unit parser with negative values.
1 parent e4fb852 commit 578c2bd

5 files changed

Lines changed: 11 additions & 6 deletions

File tree

dist/svg.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* svg.js v0.23 - svg regex default color number viewbox bbox rbox element container fx event defs group arrange mask clip pattern gradient use doc shape rect ellipse line poly path plotable image text nested sugar - svgjs.com/license */
1+
/* svg.js v0.23-1-ge4fb852 - svg regex default color number viewbox bbox rbox element container fx event defs group arrange mask clip pattern gradient use doc shape rect ellipse line poly path plotable image text nested sugar - svgjs.com/license */
22
;(function() {
33

44
this.SVG = function(element) {
@@ -66,7 +66,7 @@
6666
}
6767

6868
/* parse unit value */
69-
, unit: /^([\d\.]+)([a-z%]{0,2})$/
69+
, unit: /^(-?[\d\.]+)([a-z%]{0,2})$/
7070

7171
/* parse hex value */
7272
, hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i
@@ -261,7 +261,7 @@
261261
case 'string':
262262
var match = value.match(SVG.regex.unit)
263263

264-
/* make valu numeric */
264+
/* make value numeric */
265265
this.value = parseFloat(match[1])
266266

267267
/* normalize percent value */

dist/svg.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

spec/spec/number.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ describe('Number', function() {
2323
expect(number.value).toBe(0.99)
2424
expect(number.unit).toBe('%')
2525
})
26+
it('parses a negative percent value', function() {
27+
number = new SVG.Number('-89%')
28+
expect(number.value).toBe(-0.89)
29+
expect(number.unit).toBe('%')
30+
})
2631

2732
})
2833

src/number.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ SVG.Number = function(value) {
1313
case 'string':
1414
var match = value.match(SVG.regex.unit)
1515

16-
/* make valu numeric */
16+
/* make value numeric */
1717
this.value = parseFloat(match[1])
1818

1919
/* normalize percent value */

src/regex.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ SVG.regex = {
66
}
77

88
/* parse unit value */
9-
, unit: /^([\d\.]+)([a-z%]{0,2})$/
9+
, unit: /^(-?[\d\.]+)([a-z%]{0,2})$/
1010

1111
/* parse hex value */
1212
, hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i

0 commit comments

Comments
 (0)