From aa79ecc82d73a2cd21adddf26ca013a99eef9b83 Mon Sep 17 00:00:00 2001 From: Katarzyna Marek Date: Mon, 11 Mar 2024 14:26:31 +0100 Subject: [PATCH] add tests to scala 3 next worksheets --- .../feature/WorksheetCrossLspSuite.scala | 27 +++++++++++++++++++ .../scala/tests/BaseWorksheetLspSuite.scala | 8 +++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala b/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala index 6062bb91e01..822c8eaa0f7 100644 --- a/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala +++ b/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala @@ -1,8 +1,11 @@ package tests.feature +import scala.meta.internal.metals.MetalsEnrichments._ import scala.meta.internal.metals.{BuildInfo => V} import scala.meta.internal.semver.SemVer +import coursierapi.Complete + class Worksheet211LspSuite extends tests.BaseWorksheetLspSuite(V.scala211) class Worksheet3LspSuite extends tests.BaseWorksheetLspSuite(V.scala3) { @@ -25,4 +28,28 @@ class LatestWorksheet3LspSuite """given str: String = """"" } +class Worksheet3NextSuite + extends tests.BaseWorksheetLspSuite(Worksheet3NextSuite.scala3Next) { + override def versionSpecificCodeToValidate: String = + """given str: String = """"" +} + +object Worksheet3NextSuite { + def scala3Next: String = + Complete + .create() + .withInput("org.scala-lang:scala3-compiler_3:") + .complete() + .getCompletions() + .asScala + .toList + .reverse + .collectFirst { version => + SemVer.Version.fromString(version) match { + case SemVer.Version(_, _, _, None, None, None) => version + } + } + .get +} + class Worksheet212LspSuite extends tests.BaseWorksheetLspSuite(V.scala212) diff --git a/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala b/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala index f12425229f9..828f079aa33 100644 --- a/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala +++ b/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala @@ -10,6 +10,7 @@ import scala.meta.internal.metals.clients.language.MetalsSlowTaskResult import scala.meta.internal.metals.codeactions.CreateNewSymbol import scala.meta.internal.metals.codeactions.ImportMissingSymbol import scala.meta.internal.metals.{BuildInfo => V} +import scala.meta.internal.semver.SemVer abstract class BaseWorksheetLspSuite( scalaVersion: String @@ -855,7 +856,12 @@ abstract class BaseWorksheetLspSuite( _ = assertNoDiff(noCompletions, "") } yield () } - if (ScalaVersions.isScala3Version(scalaVersion)) + if ( + ScalaVersions.isScala3Version(scalaVersion) && !SemVer.isLaterVersion( + V.scala3, + scalaVersion, + ) + ) test("import-missing-symbol") { cleanWorkspace() val path = "a/src/main/scala/foo/Main.worksheet.sc"