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/__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'); }); diff --git a/src/ui/public/stringify/types/Date.js b/src/ui/public/stringify/types/Date.js index e33c9425c5c6ec..c80645bf15cd98 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 === null || val === undefined) { + return ''; + } return moment(val).format(pattern); }); }