diff --git a/spec-main/api-browser-window-spec.ts b/spec-main/api-browser-window-spec.ts index b1613fea6dce2..c181cb4f29b44 100644 --- a/spec-main/api-browser-window-spec.ts +++ b/spec-main/api-browser-window-spec.ts @@ -3419,20 +3419,39 @@ describe('BrowserWindow module', () => { const savePageJsPath = path.join(savePageDir, 'save_page_files', 'test.js'); const savePageCssPath = path.join(savePageDir, 'save_page_files', 'test.css'); - after(() => { + afterEach(() => { + closeAllWindows(); + try { fs.unlinkSync(savePageCssPath); fs.unlinkSync(savePageJsPath); fs.unlinkSync(savePageHtmlPath); fs.rmdirSync(path.join(savePageDir, 'save_page_files')); fs.rmdirSync(savePageDir); - } catch (e) { - // Ignore error - } + } catch {} + }); + + it('should save page to disk with HTMLOnly', async () => { + const w = new BrowserWindow({ show: false }); + await w.loadFile(path.join(fixtures, 'pages', 'save_page', 'index.html')); + await w.webContents.savePage(savePageHtmlPath, 'HTMLOnly'); + + expect(fs.existsSync(savePageHtmlPath)).to.be.true('html path'); + expect(fs.existsSync(savePageJsPath)).to.be.false('js path'); + expect(fs.existsSync(savePageCssPath)).to.be.false('css path'); + }); + + it('should save page to disk with MHTML', async () => { + const w = new BrowserWindow({ show: false }); + await w.loadFile(path.join(fixtures, 'pages', 'save_page', 'index.html')); + await w.webContents.savePage(savePageHtmlPath, 'MHTML'); + + expect(fs.existsSync(savePageHtmlPath)).to.be.true('html path'); + expect(fs.existsSync(savePageJsPath)).to.be.false('js path'); + expect(fs.existsSync(savePageCssPath)).to.be.false('css path'); }); - afterEach(closeAllWindows); - it('should save page to disk', async () => { + it('should save page to disk with HTMLComplete', async () => { const w = new BrowserWindow({ show: false }); await w.loadFile(path.join(fixtures, 'pages', 'save_page', 'index.html')); await w.webContents.savePage(savePageHtmlPath, 'HTMLComplete');