From e4a1970613f3d4da345414553dc85e3c6b71e9f5 Mon Sep 17 00:00:00 2001 From: Nargonath Date: Sun, 12 Sep 2021 19:08:32 +0200 Subject: [PATCH 1/4] Fix tests for node@16 error format change --- test/core.js | 8 ++++++-- test/handler.js | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/test/core.js b/test/core.js index 80b68be89..303884e47 100755 --- a/test/core.js +++ b/test/core.js @@ -20,10 +20,13 @@ const Inert = require('@hapi/inert'); const Lab = require('@hapi/lab'); const Vision = require('@hapi/vision'); const Wreck = require('@hapi/wreck'); +const Somever = require('@hapi/somever'); const Common = require('./common'); -const internals = {}; +const internals = { + isNode16OrHigher: Somever.match(process.version, '>=16') +}; const { describe, it } = exports.lab = Lab.script(); @@ -335,7 +338,8 @@ describe('Core', () => { expect(res.statusCode).to.equal(500); const [, event] = await log; - expect(event.error.message).to.equal('Cannot read property \'here\' of null'); + const expectedErrorMessage = internals.isNode16OrHigher ? 'Cannot read properties of null (reading \'here\')' : 'Cannot read property \'here\' of null'; + expect(event.error.message).to.equal(expectedErrorMessage); }); }); diff --git a/test/handler.js b/test/handler.js index 2a6597d0d..5440470fe 100755 --- a/test/handler.js +++ b/test/handler.js @@ -5,9 +5,12 @@ const Code = require('@hapi/code'); const Hapi = require('..'); const Hoek = require('@hapi/hoek'); const Lab = require('@hapi/lab'); +const Somever = require('@hapi/somever'); -const internals = {}; +const internals = { + isNode16OrHigher: Somever.match(process.version, '>=16') +}; const { describe, it } = exports.lab = Lab.script(); @@ -73,7 +76,8 @@ describe('handler', () => { expect(res.statusCode).to.equal(500); const [, event] = await log; - expect(event.error.message).to.equal('Cannot read property \'here\' of null'); + const expectedErrorMessage = internals.isNode16OrHigher ? 'Cannot read properties of null (reading \'here\')' : 'Cannot read property \'here\' of null'; + expect(event.error.message).to.equal(expectedErrorMessage); }); }); From c502f408cbbb96115dcc1e0f023e9af0c6a2d6c3 Mon Sep 17 00:00:00 2001 From: Nargonath Date: Mon, 13 Sep 2021 11:57:58 +0200 Subject: [PATCH 2/4] Restrict node@16 version check to 16.9.0 --- test/core.js | 2 +- test/handler.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/core.js b/test/core.js index 303884e47..d0eadc973 100755 --- a/test/core.js +++ b/test/core.js @@ -25,7 +25,7 @@ const Somever = require('@hapi/somever'); const Common = require('./common'); const internals = { - isNode16OrHigher: Somever.match(process.version, '>=16') + isNode16OrHigher: Somever.match(process.version, '>=16.9.0') }; diff --git a/test/handler.js b/test/handler.js index 5440470fe..4b776c83f 100755 --- a/test/handler.js +++ b/test/handler.js @@ -9,7 +9,7 @@ const Somever = require('@hapi/somever'); const internals = { - isNode16OrHigher: Somever.match(process.version, '>=16') + isNode16OrHigher: Somever.match(process.version, '>=16.9.0') }; From 68021fd7b34833743cb9d08a580b35bbb02c7351 Mon Sep 17 00:00:00 2001 From: Nargonath Date: Mon, 13 Sep 2021 11:59:50 +0200 Subject: [PATCH 3/4] Add comment to explain intent --- test/core.js | 1 + test/handler.js | 1 + 2 files changed, 2 insertions(+) diff --git a/test/core.js b/test/core.js index d0eadc973..105e8ea44 100755 --- a/test/core.js +++ b/test/core.js @@ -25,6 +25,7 @@ const Somever = require('@hapi/somever'); const Common = require('./common'); const internals = { + // needed to handle changes in error output isNode16OrHigher: Somever.match(process.version, '>=16.9.0') }; diff --git a/test/handler.js b/test/handler.js index 4b776c83f..19e6cba12 100755 --- a/test/handler.js +++ b/test/handler.js @@ -9,6 +9,7 @@ const Somever = require('@hapi/somever'); const internals = { + // needed to handle changes in error output isNode16OrHigher: Somever.match(process.version, '>=16.9.0') }; From e39dde9392fb537b8d393060660e8e68064bb2cc Mon Sep 17 00:00:00 2001 From: Nargonath Date: Mon, 20 Sep 2021 10:40:32 +0200 Subject: [PATCH 4/4] Refactore tests to use include instead of Somever --- test/core.js | 10 +++------- test/handler.js | 9 ++------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/test/core.js b/test/core.js index 105e8ea44..ad94bf52f 100755 --- a/test/core.js +++ b/test/core.js @@ -20,14 +20,11 @@ const Inert = require('@hapi/inert'); const Lab = require('@hapi/lab'); const Vision = require('@hapi/vision'); const Wreck = require('@hapi/wreck'); -const Somever = require('@hapi/somever'); const Common = require('./common'); -const internals = { - // needed to handle changes in error output - isNode16OrHigher: Somever.match(process.version, '>=16.9.0') -}; + +const internals = {}; const { describe, it } = exports.lab = Lab.script(); @@ -339,8 +336,7 @@ describe('Core', () => { expect(res.statusCode).to.equal(500); const [, event] = await log; - const expectedErrorMessage = internals.isNode16OrHigher ? 'Cannot read properties of null (reading \'here\')' : 'Cannot read property \'here\' of null'; - expect(event.error.message).to.equal(expectedErrorMessage); + expect(event.error.message).to.include(['Cannot read prop', 'null', 'here']); }); }); diff --git a/test/handler.js b/test/handler.js index 19e6cba12..591534fb3 100755 --- a/test/handler.js +++ b/test/handler.js @@ -5,13 +5,9 @@ const Code = require('@hapi/code'); const Hapi = require('..'); const Hoek = require('@hapi/hoek'); const Lab = require('@hapi/lab'); -const Somever = require('@hapi/somever'); -const internals = { - // needed to handle changes in error output - isNode16OrHigher: Somever.match(process.version, '>=16.9.0') -}; +const internals = {}; const { describe, it } = exports.lab = Lab.script(); @@ -77,8 +73,7 @@ describe('handler', () => { expect(res.statusCode).to.equal(500); const [, event] = await log; - const expectedErrorMessage = internals.isNode16OrHigher ? 'Cannot read properties of null (reading \'here\')' : 'Cannot read property \'here\' of null'; - expect(event.error.message).to.equal(expectedErrorMessage); + expect(event.error.message).to.include(['Cannot read prop', 'null', 'here']); }); });