aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGeorgi Krastev <joro.kr.21@gmail.com>2017-12-13 00:40:06 +0100
committerGeorgi Krastev <joro.kr.21@gmail.com>2017-12-13 00:40:06 +0100
commitc91b7cac849237062eea8a75134783e826dc21a0 (patch)
treeb678cfa2b8372bc2feedb1a036bb8a4adb91cc3f /tests
parent379f0075ca8042945d8ff89212536894a96f56a8 (diff)
downloadmagnolia-c91b7cac849237062eea8a75134783e826dc21a0.tar.gz
magnolia-c91b7cac849237062eea8a75134783e826dc21a0.tar.bz2
magnolia-c91b7cac849237062eea8a75134783e826dc21a0.zip
Move pathedCompanionRef to a GlobalUtil object
That method is a workaround for a bug. It doesn't belong in the core Magnolia macro. Also: * Use `patchedCompanionRef` consistently * Add a test for the workaround (method-local classes)
Diffstat (limited to 'tests')
-rw-r--r--tests/src/main/scala/tests.scala39
1 files changed, 27 insertions, 12 deletions
diff --git a/tests/src/main/scala/tests.scala b/tests/src/main/scala/tests.scala
index e275dee..e67813d 100644
--- a/tests/src/main/scala/tests.scala
+++ b/tests/src/main/scala/tests.scala
@@ -63,7 +63,7 @@ case class Portfolio(companies: Company*)
object Tests extends TestApp {
- def tests() = for (i <- 1 to 1) {
+ def tests(): Unit = for (i <- 1 to 1) {
import examples._
test("construct a Show product instance with alternative apply functions") {
@@ -237,21 +237,37 @@ object Tests extends TestApp {
|""")
}
- class ParentClass() {
- case class LocalClass(name: String)
+ class ParentClass {
+ case class InnerClass(name: String)
+ case class InnerClassWithDefault(name: String = "foo")
- test("serialize a case class inside another class") {
- implicitly[Show[String, LocalClass]].show(LocalClass("foo"))
- }.assert(_ == "LocalClass(name=foo)")
+ def testInner(): Unit = {
+ test("serialize a case class inside another class") {
+ implicitly[Show[String, InnerClass]].show(InnerClass("foo"))
+ }.assert(_ == "InnerClass(name=foo)")
- case class LocalClassWithDefault(name: String = "foo")
+ test("construct a default case class inside another class") {
+ Default.gen[InnerClassWithDefault].default
+ }.assert(_ == InnerClassWithDefault("foo"))
+ }
+
+ def testLocal(): Unit = {
+ case class LocalClass(name: String)
+ case class LocalClassWithDefault(name: String = "foo")
- test("construct a default case class inside another class") {
- Default.gen[LocalClassWithDefault].default
- }.assert(_ == LocalClassWithDefault("foo"))
+ test("serialize a case class inside a method") {
+ implicitly[Show[String, LocalClass]].show(LocalClass("foo"))
+ }.assert(_ == "LocalClass(name=foo)")
+
+ test("construct a default case class inside a method") {
+ Default.gen[LocalClassWithDefault].default
+ }.assert(_ == LocalClassWithDefault("foo"))
+ }
}
- new ParentClass()
+ val parent = new ParentClass
+ parent.testInner()
+ parent.testLocal()
test("show an Account") {
Show.gen[Account].show(Account("john_doe", "john.doe@yahoo.com", "john.doe@gmail.com"))
@@ -273,6 +289,5 @@ object Tests extends TestApp {
implicit val stringTypeName: TypeName[String] = new TypeName[String] { def name = "" }
TypeName.gen[Fruit].name
}.assert(_ == "magnolia.tests.Fruit")
- ()
}
}