diff --git a/test/server-side-rendering/index.js b/test/server-side-rendering/index.js index 768917e833..a56a4ddaed 100644 --- a/test/server-side-rendering/index.js +++ b/test/server-side-rendering/index.js @@ -1,13 +1,16 @@ import * as assert from "assert"; import * as fs from "fs"; import * as path from "path"; +import * as glob from 'tiny-glob/sync.js'; import { showOutput, loadConfig, + loadSvelte, setupHtmlEqual, tryToLoadJson, - shouldUpdateExpected + shouldUpdateExpected, + mkdirp } from "../helpers.js"; function tryToReadFile(file) { @@ -20,6 +23,7 @@ function tryToReadFile(file) { } const sveltePath = process.cwd().split('\\').join('/'); +let compile = null; describe("ssr", () => { before(() => { @@ -28,6 +32,8 @@ describe("ssr", () => { sveltePath }); + compile = loadSvelte(true).compile; + return setupHtmlEqual(); }); @@ -142,6 +148,33 @@ describe("ssr", () => { require("../../register")(compileOptions); + glob('**/*.svelte', { cwd }).forEach(file => { + if (file[0] === '_') return; + + const dir = `${cwd}/_output/ssr`; + const out = `${dir}/${file.replace(/\.svelte$/, '.js')}`; + + if (fs.existsSync(out)) { + fs.unlinkSync(out); + } + + mkdirp(dir); + + try { + const { js } = compile( + fs.readFileSync(`${cwd}/${file}`, 'utf-8'), + { + ...compileOptions, + filename: file + } + ); + + fs.writeFileSync(out, js.code); + } catch (err) { + // do nothing + } + }); + try { if (config.before_test) config.before_test();