From 2ddad0bdf3354923d94d4d3d448f94294b2442b6 Mon Sep 17 00:00:00 2001 From: LijieZhang1998 Date: Tue, 28 Oct 2025 16:39:47 -0500 Subject: [PATCH] STREAMS-1972: Replace assert --- snippets/mongocompat/mongotypes.js | 4 +++- snippets/mongocompat/test.js | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/snippets/mongocompat/mongotypes.js b/snippets/mongocompat/mongotypes.js index 1a0b8ef..5903333 100644 --- a/snippets/mongocompat/mongotypes.js +++ b/snippets/mongocompat/mongotypes.js @@ -757,7 +757,9 @@ tojsonObject = function(x, indent, nolint, depth) { } var lineEnding = nolint ? " " : "\n"; var tabSpace = nolint ? "" : "\t"; - assert.eq((typeof x), "object", "tojsonObject needs object, not [" + (typeof x) + "]"); + if (typeof x !== "object") { + throw new TypeError(`tojsonObject needs object, not [${typeof x}]`); + } if (!indent) indent = ""; diff --git a/snippets/mongocompat/test.js b/snippets/mongocompat/test.js index 9db374a..a66b6fb 100644 --- a/snippets/mongocompat/test.js +++ b/snippets/mongocompat/test.js @@ -97,3 +97,19 @@ dbRefForSetters.$db = 'newDb'; assert.strictEqual(dbRefForSetters.$db, 'newDb'); assert.strictEqual(dbRefForSetters.db, 'newDb'); assert.strictEqual(dbRefForSetters.toString(), 'DBRef("newColl", ObjectId("507f1f77bcf86cd799439011"), "newDb")'); + +try { + tojsonObject("not an object"); + assert.fail('Should throw TypeError for string'); +} catch (e) { + assert(e instanceof TypeError); + assert(e.message.includes('tojsonObject needs object, not [string]')); +} +try { + tojsonObject(true); + assert.fail('Should throw TypeError for boolean'); +} catch (e) { + assert(e.message.includes('tojsonObject needs object, not [boolean]')); +} +assert.strictEqual(typeof tojsonObject({ key: "value" }), 'string'); +assert.strictEqual(typeof tojsonObject([1, 2, 3]), 'string');