change replacer function signatures to match that of stringify, detect circular refer...
[squeep-logger-json-console] / test / lib / json-replacers.js
index 1c26250c72d07c086cd791d95c3d404e616ec876..5b31568b44181e20d90fa5f9b256be4ad179e7fb 100644 (file)
@@ -22,8 +22,7 @@ describe('JSON Replacers', function () {
    */
   function shouldNotReplace(replacer, value) {
     const result = replacer(key, value);
-    assert.strictEqual(result.replaced, false);
-    assert.strictEqual(result.value, value);
+    assert.deepStrictEqual(result, value);
   }
 
   describe('replacerError', function () {
@@ -33,9 +32,8 @@ describe('JSON Replacers', function () {
     it('renders an Error as an Object', function () {
       const value = new Error('oh no');
       const result = jsonReplacers.replacerError(key, value);
-      assert.strictEqual(result.replaced, true);
-      assert.strictEqual(result.value.message, 'oh no');
-      assert('stack' in result.value);
+      assert.strictEqual(result.message, 'oh no');
+      assert('stack' in result);
     });
   }); // replacerError
 
@@ -46,8 +44,7 @@ describe('JSON Replacers', function () {
     it('renders a BigInt as a String', function () {
       const value = 100n;
       const result = jsonReplacers.replacerBigInt(key, value);
-      assert.strictEqual(result.replaced, true);
-      assert.strictEqual(result.value, '100');
+      assert.strictEqual(result, '100');
     });
   }); // replacerBigInt
 
@@ -60,16 +57,14 @@ describe('JSON Replacers', function () {
       value.method = 'GET';
       value.url = new URL('http://example.com/');
       const result = jsonReplacers.replacerHttpIncomingMessage(key, value);
-      assert.strictEqual(result.replaced, true);
-      assert.strictEqual(result.value.method, 'GET');
-      assert.strictEqual(result.value.url.href, 'http://example.com/');
+      assert.strictEqual(result.method, 'GET');
+      assert.strictEqual(result.url.href, 'http://example.com/');
     });
     it('scrubs auth header from IncomingMessage Object', function () {
       const value = new http.IncomingMessage();
       value.headers.authorization = 'Super secret scheme';
       const result = jsonReplacers.replacerHttpIncomingMessage(key, value);
-      assert.strictEqual(result.replaced, true);
-      assert.strictEqual(result.value.headers.authorization, 'Super *************');
+      assert.strictEqual(result.headers.authorization, 'Super *************');
     });
   }); // replacerHttpIncomingMessage
 
@@ -80,8 +75,7 @@ describe('JSON Replacers', function () {
     it('renders a ServerResponse as an Object', function () {
       const value = Object.create(http.ServerResponse.prototype);
       const result = jsonReplacers.replacerHttpServerResponse(key, value);
-      assert.strictEqual(result.replaced, true);
-      assert.strictEqual(result.value.statusCode, 200);
+      assert.strictEqual(result.statusCode, 200);
     });
   }); // replacerHttpServerResponse