From 85dceaf279bc3ae472197c518ce62d8f1c84b076 Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Wed, 10 Apr 2024 19:35:39 +0200 Subject: [PATCH] Core - Fixed imports Test - Out of module test added --- source/gogga/core.d | 28 ++++++++++++++++++---------- source/gogga/test.d | 25 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 source/gogga/test.d diff --git a/source/gogga/core.d b/source/gogga/core.d index a36d44d..008d3b0 100644 --- a/source/gogga/core.d +++ b/source/gogga/core.d @@ -40,7 +40,7 @@ public enum GoggaMode /** * Information obtained during compilation time (if any) */ -private struct GoggaCompInfo +public struct GoggaCompInfo { /** * compile time usage file @@ -248,15 +248,29 @@ private class GoggaTransform : Transform -import std.meta : AliasSeq, aliasSeqOf; + + + + + +public mixin template Lekker(alias gLogger) +// TODO: ensure the paraneter is a var of type glogger +if(__traits(isSame, typeof(gLogger), GoggaLogger)) +{ + import std.meta : AliasSeq, aliasSeqOf; import std.traits : ParameterDefaults; import std.traits : EnumMembers; +import dlog.basic : Level; + + private GoggaLogger sdfjkfsdghjsdfghjsdf = gLogger; -private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level) + private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level) { import std.string : toLower; import std.array : join; + import std.conv : to; + import gogga.core : GoggaCompInfo; mixin(` public void `~to!(string)(level)~`(Text...) ( @@ -274,12 +288,6 @@ private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level) `); } -public mixin template Lekker(alias gLogger) -// TODO: ensure the paraneter is a var of type glogger -if(__traits(isSame, typeof(gLogger), GoggaLogger)) -{ - private GoggaLogger sdfjkfsdghjsdfghjsdf = gLogger; - static foreach(level; EnumMembers!(Level)) { mixin MakeFuncFor!(gLogger, level); @@ -352,7 +360,7 @@ public final class GoggaLogger : BasicLogger * info = the context * level = the log level to use */ - private void doLog(TextType...)(TextType segments, GoggaCompInfo info, Level level) + public void doLog(TextType...)(TextType segments, GoggaCompInfo info, Level level) { /* Create a new GoggaMessage */ GoggaMessage message = new GoggaMessage(); diff --git a/source/gogga/test.d b/source/gogga/test.d new file mode 100644 index 0000000..d28dc50 --- /dev/null +++ b/source/gogga/test.d @@ -0,0 +1,25 @@ +module gogga.test; + +import gogga; + +version(unittest) +{ + import std.stdio : writeln, stdout; + import dlog.basic : Level, FileHandler; +} + +unittest +{ + GoggaLogger gLogger = new GoggaLogger(); + gLogger.addHandler(new FileHandler(stdout)); + gLogger.setLevel(Level.DEBUG); + + mixin Lekker!(gLogger); + + DEBUG("fok", 2,2); + ERROR("fok", 2,2); + INFO("fok", 2,2); + WARN("fok", 2,2); + + writeln(); +} \ No newline at end of file