[IMP] js tests: when testing pyeval on datetimes, avoid comparison with an indepent call to new Date()

bzr revid: rco@openerp.com-20121210151828-lfzyfy75oldkjxk5
This commit is contained in:
Raphael Collet 2012-12-10 16:18:28 +01:00
parent 7852c12d8a
commit 38994104f0
1 changed files with 23 additions and 17 deletions

View File

@ -4,27 +4,33 @@ openerp.testing.section('eval.types', {
instance.session.uid = 42;
}
}, function (test) {
test('strftime', function (instance) {
var d = new Date();
var check_datetime = function(expr, date_func) {
// evaluate expr between two calls to new Date(), and check that
// the result is between the transformed dates
var d0 = new Date;
var context = instance.web.pyeval.context();
strictEqual(
py.eval("time.strftime('%Y')", context),
String(d.getFullYear()));
strictEqual(
py.eval("time.strftime('%Y')+'-01-30'", context),
String(d.getFullYear()) + '-01-30');
strictEqual(
py.eval("time.strftime('%Y-%m-%d %H:%M:%S')", context),
_.str.sprintf('%04d-%02d-%02d %02d:%02d:%02d',
var result = py.eval(expr, context);
var d1 = new Date;
ok(date_func(d0) <= result && result <= date_func(d1));
};
test('strftime', function (instance) {
check_datetime("time.strftime('%Y')", function(d) {
return String(d.getFullYear());
});
check_datetime("time.strftime('%Y')+'-01-30'", function(d) {
return String(d.getFullYear()) + '-01-30';
});
check_datetime("time.strftime('%Y-%m-%d %H:%M:%S')", function(d) {
return _.str.sprintf('%04d-%02d-%02d %02d:%02d:%02d',
d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(),
d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()));
d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds());
});
});
test('context_today', function (instance) {
var d = new Date();
var context = instance.web.pyeval.context();
strictEqual(
py.eval("context_today().strftime('%Y-%m-%d')", context),
String(_.str.sprintf('%04d-%02d-%02d', d.getFullYear(), d.getMonth() + 1, d.getDate())));
check_datetime("context_today().strftime('%Y-%m-%d')", function(d) {
return String(_.str.sprintf('%04d-%02d-%02d',
d.getFullYear(), d.getMonth() + 1, d.getDate()));
});
});
// Port from pypy/lib_pypy/test_datetime.py
var makeEq = function (instance, c2) {