diff --git a/localServer/src/test/scala/scalameta_ast/IntegrationTest.scala b/localServer/src/test/scala/scalameta_ast/IntegrationTest.scala index 0e3c663..4b41153 100644 --- a/localServer/src/test/scala/scalameta_ast/IntegrationTest.scala +++ b/localServer/src/test/scala/scalameta_ast/IntegrationTest.scala @@ -133,19 +133,34 @@ abstract class IntegrationTest(browserType: Playwright => BrowserType) extends A getTextboxById(page, "rule_name") } - private def selectedDialect(page: Page): String = { - page.getByLabel("dialect").all().asScala.map(_.inputValue()).toList match { + private def singleOrError[A](list: List[A]): A = { + list match { case List(value) => value case Nil => - sys.error("not found dialect") + sys.error("not found") case values => sys.error(s"found multi values ${values}") } } + private def selectedDialect(page: Page): String = { + singleOrError( + page.getByLabel("dialect").all().asScala.map(_.inputValue()).toList + ) + } + + private def infoElem(page: Page): Locator = { + singleOrError( + page.locator("pre").all().asScala.filter(_.getAttribute("id") == "info").toList + ) + } + "change input" in withBrowser { page => setInput(page, "class A") + assert(infoElem(page).getAttribute("class") == "alert alert-success") + val info = infoElem(page).textContent() + Seq("ast: ", "fmt: ", " ms").forall(info contains _) val expect = Seq( """Defn.Class.After_4_6_0(""", """ Nil,""", @@ -402,4 +417,9 @@ abstract class IntegrationTest(browserType: Playwright => BrowserType) extends A input = "aaa\n", ) } + + "invalid input" in withBrowser { page => + setInput(page, "def") + assert(infoElem(page).getAttribute("class") == "alert alert-danger") + } }