Skip to content

Commit

Permalink
test: add test to make sure that 'download' attr is respected (#5538)
Browse files Browse the repository at this point in the history
References #5537
Fixes #5396
  • Loading branch information
aslushnikov committed Feb 22, 2021
1 parent 65bf44d commit 6e61cde
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions test/download.spec.ts
Expand Up @@ -62,6 +62,35 @@ describe('download event', () => {
await page.close();
});

it('should report proper download url when download is from download attribute', (test, {browserName}) => {
// @see https://github.com/microsoft/playwright/issues/5537
test.fixme(browserName === 'webkit');
}, async ({browser, server}) => {
const page = await browser.newPage({ acceptDownloads: true });
await page.goto(server.PREFIX + '/empty.html');
await page.setContent(`<a href="${server.PREFIX}/chromium-linux.zip" download="foo.zip">download</a>`);
const [ download ] = await Promise.all([
page.waitForEvent('download'),
page.click('a')
]);
expect(download.url()).toBe(`${server.PREFIX}/chromium-linux.zip`);
await page.close();
});

it('should report downloads for download attribute', async ({browser, server}) => {
const page = await browser.newPage({ acceptDownloads: true });
await page.goto(server.PREFIX + '/empty.html');
await page.setContent(`<a href="${server.PREFIX}/chromium-linux.zip" download="foo.zip">download</a>`);
const [ download ] = await Promise.all([
page.waitForEvent('download'),
page.click('a')
]);
expect(download.suggestedFilename()).toBe(`foo.zip`);
const path = await download.path();
expect(fs.existsSync(path)).toBeTruthy();
await page.close();
});

it('should save to user-specified path', async ({testInfo, browser, server}) => {
const page = await browser.newPage({ acceptDownloads: true });
await page.setContent(`<a href="${server.PREFIX}/download">download</a>`);
Expand Down

0 comments on commit 6e61cde

Please sign in to comment.