From 7cb210c9da5a481865552ba96cd0a6421ab4afbc Mon Sep 17 00:00:00 2001 From: tanhauhau Date: Fri, 14 Oct 2022 22:47:55 +0800 Subject: [PATCH] fix failed test --- test/helpers.ts | 6 ------ test/runtime/index.ts | 16 +++++++++++----- .../samples/constructor-pass-context/_config.js | 4 ++-- test/server-side-rendering/index.ts | 13 ++++++++++++- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/test/helpers.ts b/test/helpers.ts index fab3b4ca29..69c03952c5 100644 --- a/test/helpers.ts +++ b/test/helpers.ts @@ -45,12 +45,6 @@ export function tryToReadFile(file) { } } -export function cleanRequireCache() { - Object.keys(require.cache) - .filter(x => x.endsWith('.svelte')) - .forEach(file => delete require.cache[file]); -} - const virtualConsole = new jsdom.VirtualConsole(); virtualConsole.sendTo(console); diff --git a/test/runtime/index.ts b/test/runtime/index.ts index 7dd83be2e3..15ea294906 100644 --- a/test/runtime/index.ts +++ b/test/runtime/index.ts @@ -9,7 +9,6 @@ import { assert, loadConfig, loadSvelte, - cleanRequireCache, env, setupHtmlEqual } from '../helpers'; @@ -109,12 +108,12 @@ describe('runtime', () => { if (hydrate && from_ssr_html) { // ssr into target - compileOptions.generate = 'ssr'; - cleanRequireCache(); + register.setCompileOptions({ ...compileOptions, generate: 'ssr' }); + register.setOutputFolderName('hydratable-ssr'); + register.clearRequireCache(); const SsrSvelteComponent = require(`./samples/${dir}/main.svelte`).default; const { html } = SsrSvelteComponent.render(config.props); target.innerHTML = html; - delete compileOptions.generate; } else { target.innerHTML = ''; } @@ -162,7 +161,14 @@ describe('runtime', () => { target, window, raf, - compileOptions + compileOptions, + require: function require_for_csr(module: string) { + register.clearRequireCache(); + register.setCompileOptions({ + format: 'cjs' + }); + return require(path.join(`${__dirname}/samples/${dir}`, module)); + } })).then(() => { component.$destroy(); diff --git a/test/runtime/samples/constructor-pass-context/_config.js b/test/runtime/samples/constructor-pass-context/_config.js index 02b58f5451..231719dc81 100644 --- a/test/runtime/samples/constructor-pass-context/_config.js +++ b/test/runtime/samples/constructor-pass-context/_config.js @@ -1,5 +1,5 @@ export default { - async test({ assert, target, window }) { + async test({ assert, target, window, require }) { const Component = require('./Component.svelte').default; const called = []; @@ -19,7 +19,7 @@ export default { component.$destroy(); }, - test_ssr({ assert }) { + test_ssr({ assert, require }) { const Component = require('./Component.svelte').default; const called = []; diff --git a/test/server-side-rendering/index.ts b/test/server-side-rendering/index.ts index 82bde6db82..38be83dc54 100644 --- a/test/server-side-rendering/index.ts +++ b/test/server-side-rendering/index.ts @@ -188,7 +188,18 @@ describe('ssr', () => { } if (config.test_ssr) { - config.test_ssr({ assert }); + config.test_ssr({ + assert, + require: function require_for_ssr(module: string) { + register.clearRequireCache(); + register.setCompileOptions({ + sveltePath, + generate: 'ssr', + format: 'cjs' + }); + return require(path.join(__dirname, `../${suite}/samples/${dir}`, module)); + } + }); } if (config.after_test) config.after_test();