changeset 27f332f2eb60 in sao:4.6
details: https://hg.tryton.org/sao?cmd=changeset;node=27f332f2eb60
description:
Evaluate DateTime PYSON in UTC
issue8165
review70591002
(grafted from e662d73ab42e992a3a298d06785c9b5baeb276a5)
diffstat:
src/pyson.js | 2 +-
tests/sao.js | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diffs (76 lines):
diff -r 2e1d48e1734e -r 27f332f2eb60 src/pyson.js
--- a/src/pyson.js Fri Mar 15 19:05:21 2019 +0100
+++ b/src/pyson.js Fri Mar 08 18:38:16 2019 +0100
@@ -784,7 +784,7 @@
Sao.PYSON.DateTime.eval_ = function(value, context) {
var date = Sao.DateTime(value.y, value.M && value.M - 1, value.d,
- value.h, value.m, value.s, value.ms && value.ms / 1000);
+ value.h, value.m, value.s, value.ms && value.ms / 1000, true);
if (value.dy) date.add(value.dy, 'y');
if (value.dM) date.add(value.dM, 'M');
if (value.dd) date.add(value.dd, 'd');
diff -r 2e1d48e1734e -r 27f332f2eb60 tests/sao.js
--- a/tests/sao.js Fri Mar 15 19:05:21 2019 +0100
+++ b/tests/sao.js Fri Mar 08 18:38:16 2019 +0100
@@ -821,51 +821,51 @@
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 12, 10, 30, 20, 0).valueOf());
+ new Date(Date.UTC(2010, 0, 12, 10, 30, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, -1));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2009, 0, 12, 10, 30, 20, 0).valueOf());
+ new Date(Date.UTC(2009, 0, 12, 10, 30, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 12));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2011, 0, 12, 10, 30, 20, 0).valueOf());
+ new Date(Date.UTC(2011, 0, 12, 10, 30, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0, 0, 0, -7));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 5, 10, 30, 20, 0).valueOf());
+ new Date(Date.UTC(2010, 0, 5, 10, 30, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0,
0, 0, 0, 12));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 12, 22, 30, 20, 0).valueOf());
+ new Date(Date.UTC(2010, 0, 12, 22, 30, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20,
0, 0, 0, 0, 0, -30));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 12, 10, 0, 20, 0).valueOf());
+ new Date(Date.UTC(2010, 0, 12, 10, 0, 20, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20,
0, 0, 0, 0, 0, 0, 30));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 12, 10, 30, 50, 0).valueOf());
+ new Date(Date.UTC(2010, 0, 12, 10, 30, 50, 0)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20,
0, 0, 0, 0, 0, 0, 0, 2000));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 0, 12, 10, 30, 20, 2).valueOf());
+ new Date(Date.UTC(2010, 0, 12, 10, 30, 20, 2)).valueOf());
eval_ = new Sao.PYSON.Encoder().encode(
new Sao.PYSON.DateTime(2010, 2, 22, 10, 30, 20, 2000));
QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_).valueOf(),
- new Date(2010, 1, 22, 10, 30, 20, 2).valueOf());
+ new Date(Date.UTC(2010, 1, 22, 10, 30, 20, 2)).valueOf());
QUnit.strictEqual(new Sao.PYSON.DateTime(2010, 1, 12, 10, 30, 20, 0,
-1, 12, -7, 2, 15, 30, 1).toString(),