[FIX] parsing of UTC datetime data from server
lp bug: https://launchpad.net/bugs/902439 fixed bzr revid: xmo@openerp.com-20111212123557-4bfqmgjnpkv0nsha
This commit is contained in:
parent
802ca760a0
commit
53f60f0dea
|
@ -20,7 +20,7 @@ openerp.web.str_to_datetime = function(str) {
|
|||
if ( !res ) {
|
||||
throw new Error("'" + str + "' is not a valid datetime");
|
||||
}
|
||||
var obj = Date.parse(res[1] + " GMT");
|
||||
var obj = Date.parseExact(res[1] + " UTC", 'yyyy-MM-dd HH:mm:ss zzz');
|
||||
if (! obj) {
|
||||
throw new Error("'" + str + "' is not a valid datetime");
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ openerp.web.str_to_date = function(str) {
|
|||
if ( !res ) {
|
||||
throw new Error("'" + str + "' is not a valid date");
|
||||
}
|
||||
var obj = Date.parse(str);
|
||||
var obj = Date.parseExact(str + ' UTC', 'yyyy-MM-dd zzz');
|
||||
if (! obj) {
|
||||
throw new Error("'" + str + "' is not a valid date");
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ openerp.web.str_to_time = function(str) {
|
|||
if ( !res ) {
|
||||
throw new Error("'" + str + "' is not a valid time");
|
||||
}
|
||||
var obj = Date.parse(res[1]);
|
||||
var obj = Date.parseExact(res[1] + ' UTC', 'HH:mm:ss zzz');
|
||||
if (! obj) {
|
||||
throw new Error("'" + str + "' is not a valid time");
|
||||
}
|
||||
|
|
|
@ -1,5 +1,43 @@
|
|||
$(document).ready(function () {
|
||||
var openerp;
|
||||
|
||||
module('server-formats', {
|
||||
setup: function () {
|
||||
openerp = window.openerp.init();
|
||||
window.openerp.web.core(openerp);
|
||||
window.openerp.web.dates(openerp);
|
||||
}
|
||||
});
|
||||
test('Parse server datetime', function () {
|
||||
var date = openerp.web.str_to_datetime("2009-05-04 12:34:23");
|
||||
deepEqual(
|
||||
[date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),
|
||||
date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()],
|
||||
[2009, 5 - 1, 4, 12, 34, 23]);
|
||||
deepEqual(
|
||||
[date.getFullYear(), date.getMonth(), date.getDate(),
|
||||
date.getHours(), date.getMinutes(), date.getSeconds()],
|
||||
[2009, 5 - 1, 4, 12 - (date.getTimezoneOffset() / 60), 34, 23]);
|
||||
|
||||
var date2 = openerp.web.str_to_datetime('2011-12-10 00:00:00');
|
||||
deepEqual(
|
||||
[date2.getUTCFullYear(), date2.getUTCMonth(), date2.getUTCDate(),
|
||||
date2.getUTCHours(), date2.getUTCMinutes(), date2.getUTCSeconds()],
|
||||
[2011, 12 - 1, 10, 0, 0, 0]);
|
||||
});
|
||||
test('Parse server date', function () {
|
||||
var date = openerp.web.str_to_date("2009-05-04");
|
||||
deepEqual(
|
||||
[date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()],
|
||||
[2009, 5 - 1, 4]);
|
||||
});
|
||||
test('Parse server time', function () {
|
||||
var date = openerp.web.str_to_time("12:34:23");
|
||||
deepEqual(
|
||||
[date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()],
|
||||
[12, 34, 23]);
|
||||
});
|
||||
|
||||
module('web-formats', {
|
||||
setup: function () {
|
||||
openerp = window.openerp.init();
|
||||
|
|
Loading…
Reference in New Issue