Add test for in-memory file

This commit is contained in:
Eugene Yokota 2021-03-06 14:29:20 -05:00
parent ff6cbf2e1f
commit 8a2083cb03
2 changed files with 41 additions and 38 deletions

View File

@ -1,21 +1,23 @@
import sbt.internal.util.ConsoleAppender import sbt.internal.util.ConsoleAppender
import sbt.internal.inc.StringVirtualFile
import xsbti.compile.CompileOptions
extraAppenders := { s => Seq(ConsoleAppender(FakePrintWriter)) } lazy val assertEmptySourcePositionMappers = taskKey[Unit]("checks that sourcePositionMappers is empty")
lazy val assertAbsolutePathConversion = taskKey[Unit]("checks source mappers convert to absolute path")
val assertEmptySourcePositionMappers = taskKey[Unit]("checks that sourcePositionMappers is empty") lazy val assertVirtualFile = taskKey[Unit]("checks source mappers handle virtual files")
lazy val resetMessages = taskKey[Unit]("empties the messages list")
val assertAbsolutePathConversion = taskKey[Unit]("checks source mappers convert to absolute path")
val assertVirtualFile = taskKey[Unit]("checks source mappers handle virtual files")
val resetMessages = taskKey[Unit]("empties the messages list")
lazy val root = (project in file("."))
.settings(
extraAppenders := { s => Seq(ConsoleAppender(FakePrintWriter)) },
Compile / compile / compileOptions ~= { old: CompileOptions =>
old.withSources(StringVirtualFile("<>::A.scala",
"""object X""") +: old.sources) },
assertEmptySourcePositionMappers := { assertEmptySourcePositionMappers := {
assert { assert {
sourcePositionMappers.value.isEmpty sourcePositionMappers.value.isEmpty
} }
} },
assertAbsolutePathConversion := { assertAbsolutePathConversion := {
val source = (Compile/sources).value.head val source = (Compile/sources).value.head
assert { assert {
@ -24,8 +26,7 @@ assertAbsolutePathConversion := {
assert { assert {
FakePrintWriter.messages.forall(!_.contains("${BASE}")) FakePrintWriter.messages.forall(!_.contains("${BASE}"))
} }
} },
assertVirtualFile := { assertVirtualFile := {
val source = (Compile/sources).value.head val source = (Compile/sources).value.head
assert { assert {
@ -34,8 +35,8 @@ assertVirtualFile := {
assert { assert {
FakePrintWriter.messages.forall(!_.contains(source.getAbsolutePath)) FakePrintWriter.messages.forall(!_.contains(source.getAbsolutePath))
} }
} },
resetMessages := { resetMessages := {
FakePrintWriter.resetMessages FakePrintWriter.resetMessages
} }
)

View File

@ -1,3 +1,5 @@
> compile
> assertEmptySourcePositionMappers > assertEmptySourcePositionMappers
> printWarnings > printWarnings