🔀 Merge branch 'release/v82'
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / test / Logging.kt
diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Logging.kt b/src/test/kotlin/net/pterodactylus/sone/test/Logging.kt
new file mode 100644 (file)
index 0000000..2a2c6b7
--- /dev/null
@@ -0,0 +1,25 @@
+package net.pterodactylus.sone.test
+
+import org.junit.rules.TestRule
+import org.junit.runners.model.Statement
+import java.util.logging.Level
+import java.util.logging.Logger.getLogger
+
+/**
+ * Silences the `net.pterodactylus.sone` [logger][java.util.logging.Logger] during a test.
+ */
+fun silencedLogging() = TestRule { base, _ ->
+       object : Statement() {
+               override fun evaluate() {
+                       getLogger("net.pterodactylus.sone").let { logger ->
+                               val oldLevel = logger.level
+                               logger.level = Level.OFF
+                               try {
+                                       base.evaluate()
+                               } finally {
+                                       logger.level = oldLevel
+                               }
+                       }
+               }
+       }
+}