summaryrefslogtreecommitdiff
path: root/logging/test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'logging/test.ts')
-rw-r--r--logging/test.ts53
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);
+});