diff options
| author | Mathieu Duckerts-Antoine <dam@odoo.com> | 2018-06-15 09:23:46 +0200 |
|---|---|---|
| committer | Adrien Dieudonne <adr@odoo.com> | 2018-07-06 14:09:09 +0200 |
| commit | 64f3580af7c93abe3402493b2ab24d99d00fa584 (patch) | |
| tree | a4a55655b8a27889b130599dcf12234e51208c41 /addons/web/static | |
| parent | c71148cc70aacaf42b64fcda14837eeb4f153c41 (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.js | 6 | ||||
| -rw-r--r-- | addons/web/static/tests/core/pyeval_tests.js | 10 |
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); |
