diff options
Diffstat (limited to 'logging/test.ts')
| -rw-r--r-- | logging/test.ts | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/logging/test.ts b/logging/test.ts new file mode 100644 index 000000000..365064cbf --- /dev/null +++ b/logging/test.ts @@ -0,0 +1,53 @@ +import { assertEqual, test } from "https://deno.land/x/testing/testing.ts"; + +import * as logging from "index.ts"; + +// TODO: establish something more sophisticated + +let testOutput = ""; + +class TestHandler extends logging.handlers.BaseHandler { + _log(level, ...args) { + testOutput += `${level} ${args[0]}\n`; + } +} + +logging.setup({ + handlers: { + debug: { + level: "DEBUG", + class: TestHandler + }, + + info: { + level: "INFO", + class: TestHandler + } + }, + + loggers: { + default: { + level: "DEBUG", + handlers: ["debug"] + }, + + info: { + level: "INFO", + handlers: ["info"] + } + } +}); + +const logger = logging.getLogger("default"); +const unknownLogger = logging.getLogger("info"); + +test(function basicTest() { + logger.debug("I should be printed."); + unknownLogger.debug("I should not be printed."); + unknownLogger.info("And I should be printed as well."); + + const expectedOutput = + "10 I should be printed.\n20 And I should be printed as well.\n"; + + assertEqual(testOutput, expectedOutput); +}); |
