예제 #1
0
async def test_should_return_the_same_file_chooser_when_there_are_many_watchdogs_simultaneously(
        page: Page, server):
    await page.setContent("<input type=file>")
    results = await asyncio.gather(
        page.waitForEvent("filechooser"),
        page.waitForEvent("filechooser"),
        page.evalOnSelector("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.setContent("<input type=file>")
    page.once(
        "filechooser",
        lambda file_chooser: asyncio.create_task(
            file_chooser.setFiles(FILE_TO_UPLOAD)),
    )
    file_length_1 = (await asyncio.gather(
        page.waitForEvent("filechooser"),
        page.evalOnSelector(
            "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.setFiles([])),
    )
    file_length_2 = (await asyncio.gather(
        page.waitForEvent("filechooser"),
        page.evalOnSelector(
            "input",
            """async picker => {
                    picker.click()
                    await new Promise(x => picker.oninput = x)
                    return picker.files.length
                }""",
        ),
    ))[1]
    assert file_length_2 == 0