예제 #1
0
async def test_should_return_the_same_file_chooser_when_there_are_many_watchdogs_simultaneously(
    page: Page, ):
    await page.set_content("<input type=file>")
    results = await asyncio.gather(
        page.wait_for_event("filechooser"),
        page.wait_for_event("filechooser"),
        page.eval_on_selector("input", "input => input.click()"),
    )
    assert results[0] == results[1]
예제 #2
0
async def test_should_be_able_to_reset_selected_files_with_empty_file_list(
        page: Page, server):
    await page.set_content("<input type=file>")
    page.once(
        "filechooser",
        lambda file_chooser: asyncio.create_task(
            file_chooser.set_files(FILE_TO_UPLOAD)),
    )
    file_length_1 = (await asyncio.gather(
        page.wait_for_event("filechooser"),
        page.eval_on_selector(
            "input",
            """async picker => {
                    picker.click();
                    await new Promise(x => picker.oninput = x);
                    return picker.files.length;
                }""",
        ),
    ))[1]
    assert file_length_1 == 1

    page.once(
        "filechooser",
        lambda file_chooser: asyncio.create_task(file_chooser.set_files([])),
    )
    file_length_2 = (await asyncio.gather(
        page.wait_for_event("filechooser"),
        page.eval_on_selector(
            "input",
            """async picker => {
                    picker.click()
                    await new Promise(x => picker.oninput = x)
                    return picker.files.length
                }""",
        ),
    ))[1]
    assert file_length_2 == 0