aboutsummaryrefslogtreecommitdiff
path: root/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/dotty/tools/dotc/reporting/TestMessageLaziness.scala')
-rw-r--r--test/dotty/tools/dotc/reporting/TestMessageLaziness.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala b/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala
new file mode 100644
index 000000000..fe85edda6
--- /dev/null
+++ b/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(d: MessageContainer)(implicit ctx: Context) = ???
+
+ override def report(d: => 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())
+}