summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-10-05 16:28:08 +0200
committerXavier Morel <xmo@openerp.com>2012-10-05 16:28:08 +0200
commit10bc6ddfe4e12e792d856369b482ae74f73197d0 (patch)
treed31e9c3a85ccdb1155ea4944c5c1057dec8f93b8 /addons/web/static
parent0e101c63a3355e2aebce2d38f985e9ac6dc96376 (diff)
[ADD] groupby eval tests
bzr revid: xmo@openerp.com-20121005142808-yx6o8nfnn0o4ms56
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/pyeval.js2
-rw-r--r--addons/web/static/test/evals.js73
2 files changed, 73 insertions, 2 deletions
diff --git a/addons/web/static/src/js/pyeval.js b/addons/web/static/src/js/pyeval.js
index 007d73081ce..34ddf0e119b 100644
--- a/addons/web/static/src/js/pyeval.js
+++ b/addons/web/static/src/js/pyeval.js
@@ -194,7 +194,7 @@ openerp.web.pyeval = function (instance) {
var evaluated = ctx;
switch(ctx.__ref) {
case 'context':
- evaluated = py.eval(ctx.__debug), evaluation_context;
+ evaluated = py.eval(ctx.__debug, evaluation_context);
break;
case 'compound_context':
var eval_context = eval_contexts([ctx.__eval_context]);
diff --git a/addons/web/static/test/evals.js b/addons/web/static/test/evals.js
index ee4aef4bf79..dc8ceb83daf 100644
--- a/addons/web/static/test/evals.js
+++ b/addons/web/static/test/evals.js
@@ -145,5 +145,76 @@ $(document).ready(function () {
['name', '>=', current_date],
['name', '<=', current_date]
]);
- })
+ });
+
+ module('eval.groupbys', {
+ setup: function () {
+ openerp = window.openerp.testing.instanceFor('coresetup');
+ }
+ });
+ test('groupbys_00', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ {group_by: ['bar', 'qux']},
+ {group_by: null},
+ {group_by: 'grault'}
+ ]);
+ deepEqual(result, ['foo', 'bar', 'qux', 'grault']);
+ });
+ test('groupbys_01', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ { __ref: 'context', __debug: '{"group_by": "bar"}' },
+ {group_by: 'grault'}
+ ]);
+ deepEqual(result, ['foo', 'bar', 'grault']);
+ });
+ test('groupbys_02', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ {
+ __ref: 'compound_context',
+ __contexts: [ {group_by: 'bar'} ],
+ __eval_context: null
+ },
+ {group_by: 'grault'}
+ ]);
+ deepEqual(result, ['foo', 'bar', 'grault']);
+ });
+ test('groupbys_03', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ {
+ __ref: 'compound_context',
+ __contexts: [
+ { __ref: 'context', __debug: '{"group_by": value}' }
+ ],
+ __eval_context: { value: 'bar' }
+ },
+ {group_by: 'grault'}
+ ]);
+ deepEqual(result, ['foo', 'bar', 'grault']);
+ });
+ test('groupbys_04', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ {
+ __ref: 'compound_context',
+ __contexts: [
+ { __ref: 'context', __debug: '{"group_by": value}' }
+ ],
+ __eval_context: { value: 'bar' }
+ },
+ {group_by: 'grault'}
+ ], { value: 'bar' });
+ deepEqual(result, ['foo', 'bar', 'grault']);
+ });
+ test('groupbys_05', function () {
+ var result = openerp.web.pyeval.eval('groupbys', [
+ {group_by: 'foo'},
+ { __ref: 'context', __debug: '{"group_by": value}' },
+ {group_by: 'grault'}
+ ], { value: 'bar' });
+ deepEqual(result, ['foo', 'bar', 'grault']);
+ });
});