aboutsummaryrefslogtreecommitdiff
path: root/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala')
-rw-r--r--compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala b/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala
new file mode 100644
index 000000000..6892739e8
--- /dev/null
+++ b/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala
@@ -0,0 +1,37 @@
+package dotty.tools
+package dotc
+package reporting
+
+import org.junit.Assert._
+import org.junit.Test
+
+import core.Contexts._
+
+import test.DottyTest
+
+import diagnostic.{ Message, MessageContainer, ExtendMessage }
+
+class TestMessageLaziness extends DottyTest {
+ ctx = ctx.fresh.setReporter(new NonchalantReporter)
+
+ class NonchalantReporter(implicit ctx: Context) extends Reporter
+ with UniqueMessagePositions with HideNonSensicalMessages {
+ def doReport(m: MessageContainer)(implicit ctx: Context) = ???
+
+ override def report(m: MessageContainer)(implicit ctx: Context) = ()
+ }
+
+ case class LazyError() extends Message(1000) {
+ throw new Error("Didn't stay lazy.")
+
+ val kind = "Test"
+ val msg = "Please don't blow up"
+ val explanation = ""
+ }
+
+ @Test def assureLazy =
+ ctx.error(LazyError())
+
+ @Test def assureLazyExtendMessage =
+ ctx.strictWarning(LazyError())
+}