diff --git a/src/ol/expression/expressions.js b/src/ol/expression/expressions.js index e0c384f5e1..a8675d1365 100644 --- a/src/ol/expression/expressions.js +++ b/src/ol/expression/expressions.js @@ -521,6 +521,33 @@ ol.expression.Math.prototype.evaluate = function(opt_scope, opt_fns, opt_this) { }; +/** + * Get the math operator. + * @return {string} The math operator. + */ +ol.expression.Math.prototype.getOperator = function() { + return this.operator_; +}; + + +/** + * Get the left expression. + * @return {ol.expression.Expression} The left expression. + */ +ol.expression.Math.prototype.getLeft = function() { + return this.left_; +}; + + +/** + * Get the right expression. + * @return {ol.expression.Expression} The right expression. + */ +ol.expression.Math.prototype.getRight = function() { + return this.right_; +}; + + /** * A member expression (e.g. `foo.bar`). diff --git a/test/spec/ol/expression/expressions.test.js b/test/spec/ol/expression/expressions.test.js index 189f42d3d5..ecb85a29fc 100644 --- a/test/spec/ol/expression/expressions.test.js +++ b/test/spec/ol/expression/expressions.test.js @@ -510,6 +510,28 @@ describe('ol.expression.Math', function() { }); }); + var op = ol.expression.MathOp.MOD; + var left = new ol.expression.Identifier('foo'); + var right = new ol.expression.Literal(20); + var expr = new ol.expression.Math(op, left, right); + + describe('#getOperator()', function() { + it('gets the operator', function() { + expect(expr.getOperator()).to.be(op); + }); + }); + + describe('#getLeft()', function() { + it('gets the left expression', function() { + expect(expr.getLeft()).to.be(left); + }); + }); + + describe('#getRight()', function() { + it('gets the right expression', function() { + expect(expr.getRight()).to.be(right); + }); + }); });