summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorMathieu Duckerts-Antoine <dam@odoo.com>2018-06-15 09:23:46 +0200
committerAdrien Dieudonne <adr@odoo.com>2018-07-06 14:09:09 +0200
commit64f3580af7c93abe3402493b2ab24d99d00fa584 (patch)
treea4a55655b8a27889b130599dcf12234e51208c41 /addons/web/static
parentc71148cc70aacaf42b64fcda14837eeb4f153c41 (diff)
[IMP] web: add support of modulo in pyeval
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/lib/py.js/lib/py.js6
-rw-r--r--addons/web/static/tests/core/pyeval_tests.js10
2 files changed, 16 insertions, 0 deletions
diff --git a/addons/web/static/lib/py.js/lib/py.js b/addons/web/static/lib/py.js/lib/py.js
index f4ae13d9e44..06d834321de 100644
--- a/addons/web/static/lib/py.js/lib/py.js
+++ b/addons/web/static/lib/py.js/lib/py.js
@@ -862,6 +862,12 @@ var py = {};
}
return py.float.fromJSON(this._value + other._value);
},
+ __mod__: function (other) {
+ if (!py.PY_isInstance(other, py.float)) {
+ return py.NotImplemented;
+ }
+ return py.float.fromJSON(this._value % other._value);
+ },
__neg__: function () {
return py.float.fromJSON(-this._value);
},
diff --git a/addons/web/static/tests/core/pyeval_tests.js b/addons/web/static/tests/core/pyeval_tests.js
index 737466c8c93..95d8783ad96 100644
--- a/addons/web/static/tests/core/pyeval_tests.js
+++ b/addons/web/static/tests/core/pyeval_tests.js
@@ -18,6 +18,16 @@ QUnit.module('core', function () {
assert.strictEqual(result, 42, "should properly evaluate basic sum");
});
+ QUnit.test('simple arithmetic', function(assert) {
+ assert.expect(2);
+
+ var result = pyEval.py_eval("1 + 2");
+ assert.strictEqual(result, 3, "should properly evaluate sum");
+ result = pyEval.py_eval("42 % 5");
+ assert.strictEqual(result, 2, "should properly evaluate modulo operator");
+ });
+
+
QUnit.test('not prefix', function (assert) {
assert.expect(3);