aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala')
-rw-r--r--src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala b/src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala
new file mode 100644
index 0000000..4ffe7ae
--- /dev/null
+++ b/src/test/scala/xyz/driver/core/logging/PhiStringContextTest.scala
@@ -0,0 +1,32 @@
+package xyz.driver.core.logging
+
+import org.scalatest.FreeSpecLike
+import xyz.driver.core.logging.phi._
+
+class PhiStringContextTest extends FreeSpecLike {
+
+ class Foo(x: Int, y: String) {
+ val z: Boolean = true
+ }
+
+ case class Bar(y: Boolean)
+
+ implicit def fooToPhiString(foo: Foo): NoPhiString = new NoPhiString(s"Foo(z=${foo.z})")
+
+ "should not compile if there is no PhiString implicit" in assertDoesNotCompile(
+ """val bar = Bar(true)
+ |noPhi"bar is $bar"""".stripMargin
+ )
+
+ "should compile if there is a PhiString implicit" in assertCompiles(
+ """val foo = new Foo(1, "test")
+ |println(noPhi"foo is $foo}")""".stripMargin
+ )
+
+ "should not contain private info" in {
+ val foo = new Foo(42, "test")
+ val result = noPhi"foo is $foo".text
+ assert(!result.contains("test"))
+ assert(!result.contains("42"))
+ }
+}