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