From aa566df3f80baeaddb09c009ccf675e42de43c96 Mon Sep 17 00:00:00 2001 From: Lam Wei Li Date: Tue, 8 Mar 2022 23:25:43 +0800 Subject: [PATCH] chore(test): improve test coverage for fileSyncAppender appenders/fileSync.js - Line 11 - return; --- test/tap/fileSyncAppender-test.js | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/tap/fileSyncAppender-test.js b/test/tap/fileSyncAppender-test.js index f6a2eb2..b36e3b0 100644 --- a/test/tap/fileSyncAppender-test.js +++ b/test/tap/fileSyncAppender-test.js @@ -40,6 +40,42 @@ test("log4js fileSyncAppender", batch => { }); }); + batch.test("with existing file", t => { + const testFile = path.join(__dirname, "/fa-existing-file-sync-test.log"); + const logger = log4js.getLogger("default-settings"); + remove(testFile); + + t.teardown(() => { + remove(testFile); + }); + + log4js.configure({ + appenders: { sync: { type: "fileSync", filename: testFile } }, + categories: { default: { appenders: ["sync"], level: "debug" } } + }); + + logger.info("This should be in the file."); + + log4js.shutdown(() => { + log4js.configure({ + appenders: { sync: { type: "fileSync", filename: testFile } }, + categories: { default: { appenders: ["sync"], level: "debug" } } + }); + + logger.info("This should also be in the file."); + + fs.readFile(testFile, "utf8", (err, fileContents) => { + t.match(fileContents, `This should be in the file.${EOL}`); + t.match(fileContents, `This should also be in the file.${EOL}`); + t.match( + fileContents, + /\[\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}] \[INFO] default-settings - / + ); + t.end(); + }); + }); + }); + batch.test("should give error if invalid filename", async t => { const file = ""; const expectedError = new Error(`Invalid filename: ${file}`);