From 39922fb479e78d720c4f1d1a38e9a44570fc1ba5 Mon Sep 17 00:00:00 2001 From: Brice Jaglin Date: Mon, 22 Jan 2024 00:27:05 +0100 Subject: [PATCH] leverage testkit for -Xsource:3 test https://github.com/scalacenter/scalafix/issues/1663 --- .../RemoveUnusedImportsWildcards.scala | 16 +++++ .../interfaces/ScalafixArgumentsSuite.scala | 63 ------------------- .../RemoveUnusedImportsWildcards.scala | 10 +++ 3 files changed, 26 insertions(+), 63 deletions(-) create mode 100644 scalafix-tests/input/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala create mode 100644 scalafix-tests/output/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala diff --git a/scalafix-tests/input/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala b/scalafix-tests/input/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala new file mode 100644 index 000000000..fdc71b3df --- /dev/null +++ b/scalafix-tests/input/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala @@ -0,0 +1,16 @@ +/* +rules = RemoveUnused +*/ +package test.removeUnused + +import java.io.* +import java.util.concurrent._ + +import scala.collection.mutable +import scala.util._ +import scala.io.* + +object RemoveUnusedImportsWildcards { + new File("") + new ConcurrentHashMap[String, String]() +} \ No newline at end of file diff --git a/scalafix-tests/integration/src/test/scala/scalafix/tests/interfaces/ScalafixArgumentsSuite.scala b/scalafix-tests/integration/src/test/scala/scalafix/tests/interfaces/ScalafixArgumentsSuite.scala index 18905db5a..0eae51b18 100644 --- a/scalafix-tests/integration/src/test/scala/scalafix/tests/interfaces/ScalafixArgumentsSuite.scala +++ b/scalafix-tests/integration/src/test/scala/scalafix/tests/interfaces/ScalafixArgumentsSuite.scala @@ -442,69 +442,6 @@ class ScalafixArgumentsSuite extends AnyFunSuite with DiffAssertions { assert(obtainedError == ScalafixFileEvaluationError.ParseError) } - test("Scala 3 style wildcard import", SkipWindows) { - // https://github.com/scalacenter/scalafix/issues/1663 - - // Todo(i1680): Add another test for scala 3 that doesn't uses removeUnused or - // at least remove the if when removeUnused is supported in scala 3 - if (ScalaVersions.isScala3) { - cancel() - } - - val cwd = StringFS - .string2dir( - """|/src/Main.scala - |import scala.collection.mutable - |import scala.util._ - |import scala.io.* - | - |object Main - """.stripMargin, - charset - ) - .toNIO - val d = cwd.resolve("out") - val target = cwd.resolve("target") - val src = cwd.resolve("src") - Files.createDirectories(d) - val main = src.resolve("Main.scala") - - val scalacOptions = Array[String]( - "-Xsource:3", - removeUnused, - "-classpath", - s"${scalaLibrary.mkString(":")}", - "-d", - d.toString, - main.toString - ) ++ CompatSemanticdb.scalacOptions(src, target) - - val _ = CompatSemanticdb.runScalac(scalacOptions) - val result = api - .withRules( - Collections.singletonList(removeUnsuedRule().name.toString()) - ) - .withClasspath((scalaLibrary.map(_.toNIO) :+ target).asJava) - .withScalacOptions(Collections.singletonList(removeUnused)) - .withScalaVersion("2.13.8") - .withPaths(Seq(main).asJava) - .withSourceroot(src) - .evaluate() - - val error = result.getError - assert(!error.isPresent) - assert(result.isSuccessful) - assert(result.getFileEvaluations.length == 1) - val fileEvaluation = result.getFileEvaluations.head - assert(fileEvaluation.isSuccessful) - val expected = - """| - |object Main - |""".stripMargin - val obtained = fileEvaluation.previewPatches.get() - assertNoDiff(obtained, expected) - } - test("withScalaVersion: non-parsable scala version") { val run = Try(api.withScalaVersion("213")) val expectedErrorMessage = "Failed to parse the Scala version" diff --git a/scalafix-tests/output/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala b/scalafix-tests/output/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala new file mode 100644 index 000000000..cfefcbf3b --- /dev/null +++ b/scalafix-tests/output/src/main/scala-2-xsource3/test/removeUnused/RemoveUnusedImportsWildcards.scala @@ -0,0 +1,10 @@ +package test.removeUnused + +import java.io.* +import java.util.concurrent._ + + +object RemoveUnusedImportsWildcards { + new File("") + new ConcurrentHashMap[String, String]() +} \ No newline at end of file