diff --git a/lib/protractorAppender.js b/lib/protractorAppender.js index 6c22cb9..2314562 100644 --- a/lib/protractorAppender.js +++ b/lib/protractorAppender.js @@ -19,7 +19,7 @@ function protractorAppender(consoleLog) { function resolveAllPromises(dataParts) { var promises = dataParts.map(function (value) { - if (value.then) { + if (!!value && value.then) { return value; } else { return global.protractor.promise.when(value); diff --git a/test/protractorAppender-spec.js b/test/protractorAppender-spec.js index d9aa030..e846ac6 100644 --- a/test/protractorAppender-spec.js +++ b/test/protractorAppender-spec.js @@ -80,5 +80,31 @@ describe('protractorAppender', function () { deferred.fulfill('World'); }, 50); }); + + it('should handle undefined in the log event', function (done) { + global.browser = protractorMock; + event.data.push(undefined); + + appender(event).then(function () { + expect(consoleMock).toHaveBeenCalledWith({ + data: ['Hello', undefined], + startTime: jasmine.any(Date) + }); + done(); + }); + }); + + it('should handle null value in the log event', function (done) { + global.browser = protractorMock; + event.data.push(null); + + appender(event).then(function () { + expect(consoleMock).toHaveBeenCalledWith({ + data: ['Hello', null], + startTime: jasmine.any(Date) + }); + done(); + }); + }); }); });