[FIX] web: fix tests on date parsing
authorCedric Snauwaert <csn@openerp.com>
Thu, 11 Sep 2014 13:02:12 +0000 (15:02 +0200)
committerFabien Meghazi <fme@openerp.com>
Wed, 5 Nov 2014 14:27:59 +0000 (15:27 +0100)
addons/web/static/src/js/formats.js
addons/web/static/test/formats.js

index 3c044bd..3f04025 100644 (file)
@@ -171,15 +171,23 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
         case 'datetime':
             if (typeof(value) == "string")
                 value = new moment(instance.web.auto_str_to_date(value));
-
+            else {
+                value = new moment(value);
+            }
             return value.format(date_format + ' ' + time_format);
         case 'date':
             if (typeof(value) == "string")
                 value = new moment(instance.web.str_to_date(value.substring(0,10)));
+            else {
+                value = new moment(value);
+            }
             return value.format(date_format);
         case 'time':
             if (typeof(value) == "string")
                 value = new moment(instance.web.auto_str_to_date(value));
+            else {
+                value = new moment(value);
+            }
             return value.format(time_format);
         case 'selection': case 'statusbar':
             // Each choice is [value, label]
index 5549e6e..296bbd4 100644 (file)
@@ -4,17 +4,17 @@ openerp.testing.section('web-formats', {
     test("format_datetime", function (instance) {
         var date = instance.web.str_to_datetime("2009-05-04 12:34:23");
         var str = instance.web.format_value(date, {type:"datetime"});
-        equal(str, new moment(date).format("MM/DD/YYYY HH:mm:ss"));
+        equal(str, (new moment(date)).format("MM/DD/YYYY HH:mm:ss"));
     });
     test("format_date", function (instance) {
         var date = instance.web.str_to_datetime("2009-05-04 12:34:23");
         var str = instance.web.format_value(date, {type:"date"});
-        equal(str, new moment(date).format("MM/DD/YYYY"));
+        equal(str, (new moment(date)).format("MM/DD/YYYY"));
     });
     test("format_time", function (instance) {
         var date = instance.web.str_to_datetime("2009-05-04 12:34:23");
         var str = instance.web.format_value(date, {type:"time"});
-        equal(str, new moment(date).format("HH:mm:ss"));
+        equal(str, (new moment(date)).format("HH:mm:ss"));
     });
     test("format_float_time", function (instance) {
         strictEqual(
@@ -173,14 +173,16 @@ openerp.testing.section('web-formats', {
                     'Mon, 2009 May 04');
         strictEqual(instance.web.parse_value('Mon, 2009 May 04', {type: 'date'}),
                     '2009-05-04');
+        instance.web._t.database.parameters.date_format = '%m/%d/%Y';
     });
     test('extended ES date format', function (instance) {
-            instance.web._t.database.parameters.date_format = '%a, %Y.eko %bren %da';
-            var date = instance.web.str_to_date("2009-05-04");
-            strictEqual(instance.web.format_value(date, {type:"date"}),
-                        'Mon, 2009. May 04');
-            strictEqual(instance.web.parse_value('Mon, 2009. May 04', {type: 'date'}),
-                        '2009-05-04');
-        });
+        instance.web._t.database.parameters.date_format = '%a, %Y.eko %b ren %da';
+        var date = instance.web.str_to_date("2009-05-04");
+        strictEqual(instance.web.format_value(date, {type:"date"}),
+                    'Mon, 2009.eko May ren 04');
+        strictEqual(instance.web.parse_value('Mon, 2009.eko May ren 04', {type: 'date'}),
+                    '2009-05-04');
+        instance.web._t.database.parameters.date_format = '%m/%d/%Y';
+    });
 
 });