diff --git a/package.json b/package.json index 50ed8a44..cdca422e 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,9 @@ "*.min.js", "*.min.js.map" ], + "dependencies": { + "math-expression-evaluator": "^1.2.17" + }, "devDependencies": { "mocha": "1.21.4", "chai": "^1.9.1", @@ -36,7 +39,6 @@ "karma-sauce-launcher": "~0.2.3", "grunt-checkrepo": "~0.1.0", "grunt-saucelabs": "~4.0.2", - "grunt-checkrepo": "~0.1.0", "grunt-git-status": "~1.0.0", "grunt-template": "~0.2.3", "source-map": "~0.1.40" diff --git a/src/dimension-handler.js b/src/dimension-handler.js index f1b263d1..96f83d06 100644 --- a/src/dimension-handler.js +++ b/src/dimension-handler.js @@ -14,6 +14,8 @@ (function(scope, testing) { + var mexp = require('math-expression-evaluator'); + function parseDimension(unitRegExp, string) { string = string.trim().toLowerCase(); @@ -54,7 +56,7 @@ return; for (var unit in matchedUnits) { - var result = eval(string.replace(new RegExp('U' + unit, 'g'), '').replace(new RegExp(taggedUnitRegExp, 'g'), '*0')); + var result = mexp.eval(string.replace(new RegExp('U' + unit, 'g'), '').replace(new RegExp(taggedUnitRegExp, 'g'), '*0')); if (!isFinite(result)) return; matchedUnits[unit] = result;