gradio

Форк
0
/
cancel_events.spec.ts 
46 строк · 1.3 Кб
1
import { test, expect } from "@gradio/tootils";
2

3
test("when using an iterative function the UI should update over time as iteration results are received", async ({
4
	page
5
}) => {
6
	const start_button = await page.locator("button", {
7
		hasText: /Start Iterating/
8
	});
9
	const textbox = await page.getByLabel("Iterative Output");
10

11
	let output_values: string[] = [];
12
	let last_output_value = "";
13
	let interval = setInterval(async () => {
14
		let value = await textbox.inputValue();
15
		if (value !== last_output_value) {
16
			output_values.push(value);
17
			last_output_value = value;
18
		}
19
	}, 100);
20

21
	await start_button.click();
22
	await expect(textbox).toHaveValue("8");
23
	clearInterval(interval);
24
	for (let i = 1; i < 8; i++) {
25
		expect(output_values).toContain(i.toString());
26
	}
27
});
28

29
test("when using an iterative function it should be possible to cancel the function, after which the UI should stop updating", async ({
30
	page
31
}) => {
32
	const start_button = await page.locator("button", {
33
		hasText: /Start Iterating/
34
	});
35
	const stop_button = await page.locator("button", {
36
		hasText: /Stop Iterating/
37
	});
38
	const textbox = await page.getByLabel("Iterative Output");
39

40
	await start_button.click();
41
	await expect(textbox).toHaveValue("0");
42
	await stop_button.click();
43
	await expect(textbox).toHaveValue("0");
44
	await page.waitForTimeout(1000);
45
	await expect(textbox).toHaveValue("0");
46
});
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.