import { test, expect } from "@gradio/tootils"; test("updates frontend correctly", async ({ page }) => { const short_btn = await page.getByLabel("short"); const long_btn = await page.getByLabel("long"); const hidden_btn = await page.getByLabel("none"); const textbox = await page.locator("textarea").first(); textbox.fill("hello world"); await long_btn.check(); await expect(textbox).toHaveValue("Lorem ipsum dolor sit amet"); await expect(textbox).toHaveAttribute("rows", "8"); textbox.fill("hello world"); await short_btn.check(); await expect(textbox).toHaveValue("hello world"); await expect(textbox).toHaveAttribute("rows", "2"); await hidden_btn.check(); await expect(textbox).toBeHidden(); }); test("updates interactivity correctly", async ({ page }) => { const short_btn = await page.getByLabel("short"); const hidden_btn = await page.getByLabel("none"); const submit_tn = await page.locator("button.primary").first(); await hidden_btn.check(); await expect(submit_tn).toHaveAttribute("disabled"); await short_btn.check(); await expect(submit_tn).not.toHaveAttribute("disabled"); }); test("updates backend correctly", async ({ page }) => { const min_slider = await page.getByLabel("number input for min"); const num = await page.getByLabel("input").first(); const output = await page.getByLabel("output"); await min_slider.fill("10"); await num.fill("15"); await num.press("Enter"); await expect(output).toHaveValue("15"); await num.fill("25"); await num.press("Enter"); await expect(output).toHaveValue("25"); await num.fill("5"); await num.press("Enter"); await expect(output).toHaveValue("25"); }); test("updates dropdown choices correctly", async ({ page }) => { const country = await page.getByLabel("Country").first(); const city = await page.getByLabel("Cities").first(); await country.fill("Canada"); await country.press("Enter"); await expect(city).toHaveValue("Toronto"); await country.fill("Pakistan"); await country.press("Enter"); await expect(city).toHaveValue("Karachi"); });