fix _reset behavior
authorJustin Wind <justin.wind+git@gmail.com>
Sat, 13 Jan 2024 01:51:44 +0000 (17:51 -0800)
committerJustin Wind <justin.wind+git@gmail.com>
Sat, 13 Jan 2024 01:52:40 +0000 (17:52 -0800)
lib/stub-logger.js
test/lib/stub-logger.js

index 6df2b94f97e4d932f53d9afca1f300d4b6acc0be..c1a477919edc4123ac953b04ad92651533aa5943 100644 (file)
@@ -2,13 +2,14 @@
 
 const sinon = require('sinon'); // eslint-disable-line node/no-unpublished-require
 
-const nop = () => { /* */ };
+const nop = () => undefined;
 
 class StubLogger {
   constructor(verbose = false) {
     const logger = (process.env.VERBOSE_TESTS || verbose) ? console : StubLogger._nullLogger;
     Object.keys(StubLogger._nullLogger).forEach((level) => {
       this[level] = logger[level]; // eslint-disable-line security/detect-object-injection
+      sinon.spy(this, level);
     });
   }
 
@@ -27,7 +28,7 @@ class StubLogger {
   }
 
   _reset() {
-    Object.keys(StubLogger._nullLogger).forEach((level) => sinon.spy(this, level));
+    StubLogger._levels.forEach((level) => this[level].resetHistory()); // eslint-disable-line security/detect-object-injection
   }
 }
 
index e2fa6727e8246fa94ae422ef41a711edbdef195e..86c2213f814f152b822dcfc5621bfe2ad3a760de 100644 (file)
@@ -19,6 +19,12 @@ describe('StubLogger', function () {
       logger._reset();
     });
     it('covers levels', logAllLevels);
+    it('covers reset', function () {
+      logAllLevels();
+      logger._reset();
+      logAllLevels();
+      logger._reset();
+    });
   }); // null logger
   describe('console logger', function () {
     beforeEach(function () {
@@ -26,5 +32,11 @@ describe('StubLogger', function () {
       logger._reset();
     });
     it('covers levels', logAllLevels);
+    it('covers reset', function () {
+      logAllLevels();
+      logger._reset();
+      logAllLevels();
+      logger._reset();
+    });
   }); // null logger
 }); // StubLogger
\ No newline at end of file