From 21c9be5306057139d1886290ff12bf67d8ad470b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Tue, 18 Aug 2015 11:35:27 +0100 Subject: [PATCH 1/3] missing date patch --- src/ui/public/stringify/types/Date.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ui/public/stringify/types/Date.js b/src/ui/public/stringify/types/Date.js index e33c9425c5c6ec..9c21a9b21acec9 100644 --- a/src/ui/public/stringify/types/Date.js +++ b/src/ui/public/stringify/types/Date.js @@ -45,6 +45,9 @@ define(function (require) { if (this._memoizedPattern !== pattern) { this._memoizedPattern = pattern; this._memoizedConverter = _.memoize(function converter(val) { + if (val === undefined) { + return ''; + } return moment(val).format(pattern); }); } From fca50b210eca056efb72e100146a9424ceaa05ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Wed, 19 Aug 2015 14:07:42 +0100 Subject: [PATCH 2/3] Added test. Unified output of null and undefined dates --- src/ui/public/stringify/__tests__/_date.js | 20 ++++++++++++++++++++ src/ui/public/stringify/types/Date.js | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/ui/public/stringify/__tests__/_date.js diff --git a/src/ui/public/stringify/__tests__/_date.js b/src/ui/public/stringify/__tests__/_date.js new file mode 100644 index 00000000000000..5d95bd8aae7461 --- /dev/null +++ b/src/ui/public/stringify/__tests__/_date.js @@ -0,0 +1,20 @@ +describe('Date Format', function () { + var fieldFormats; + var expect = require('expect.js'); + var ngMock = require('ngMock'); + + beforeEach(ngMock.module('kibana')); + beforeEach(ngMock.inject(function (Private) { + fieldFormats = Private(require('ui/registry/field_formats')); + })); + + it('decoding an undefined or null date should return an empty string', function () { + var DateFormat = fieldFormats.getType('date'); + var date = new DateFormat({ + pattern: 'dd-MM-yyyy' + }); + expect(date.convert(null)).to.be(''); + expect(date.convert(undefined)).to.be(''); + }); + +}); diff --git a/src/ui/public/stringify/types/Date.js b/src/ui/public/stringify/types/Date.js index 9c21a9b21acec9..c80645bf15cd98 100644 --- a/src/ui/public/stringify/types/Date.js +++ b/src/ui/public/stringify/types/Date.js @@ -45,7 +45,7 @@ define(function (require) { if (this._memoizedPattern !== pattern) { this._memoizedPattern = pattern; this._memoizedConverter = _.memoize(function converter(val) { - if (val === undefined) { + if (val === null || val === undefined) { return ''; } return moment(val).format(pattern); From 1857dafe091485b50b6d0d53e4131b8b03454803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Campinas?= Date: Wed, 19 Aug 2015 20:18:37 +0100 Subject: [PATCH 3/3] register the test file --- src/ui/public/stringify/__tests__/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ui/public/stringify/__tests__/index.js b/src/ui/public/stringify/__tests__/index.js index 4a1cb93ffb7216..e299349e95b7a7 100644 --- a/src/ui/public/stringify/__tests__/index.js +++ b/src/ui/public/stringify/__tests__/index.js @@ -4,4 +4,5 @@ describe('Stringify Component', function () { require('./_source'); require('./_string'); require('./_url'); + require('./_date'); });