update and tidy tests

pull/4260/head
Conduitry 6 years ago
parent 621333ea98
commit 84e0ef58a4

@ -45,6 +45,12 @@ 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);

@ -10,6 +10,7 @@ import {
showOutput,
loadConfig,
loadSvelte,
cleanRequireCache,
env,
setupHtmlEqual,
mkdirp
@ -79,11 +80,7 @@ describe("runtime", () => {
compileOptions.immutable = config.immutable;
compileOptions.accessors = 'accessors' in config ? config.accessors : true;
Object.keys(require.cache)
.filter(x => x.endsWith('.svelte'))
.forEach(file => {
delete require.cache[file];
});
cleanRequireCache();
let mod;
let SvelteComponent;

@ -9,6 +9,7 @@ import {
loadSvelte,
setupHtmlEqual,
tryToLoadJson,
cleanRequireCache,
shouldUpdateExpected,
mkdirp
} from "../helpers.js";
@ -27,11 +28,6 @@ let compile = null;
describe("ssr", () => {
before(() => {
require("../../register")({
extensions: ['.svelte', '.html'],
sveltePath
});
compile = loadSvelte(true).compile;
return setupHtmlEqual();
@ -40,9 +36,11 @@ describe("ssr", () => {
fs.readdirSync(`${__dirname}/samples`).forEach(dir => {
if (dir[0] === ".") return;
const config = loadConfig(`${__dirname}/samples/${dir}/_config.js`);
// add .solo to a sample directory name to only run that test, or
// .show to always show the output. or both
const solo = /\.solo/.test(dir);
const solo = config.solo || /\.solo/.test(dir);
const show = /\.show/.test(dir);
if (solo && process.env.CI) {
@ -51,6 +49,13 @@ describe("ssr", () => {
(solo ? it.only : it)(dir, () => {
dir = path.resolve(`${__dirname}/samples`, dir);
cleanRequireCache();
const compileOptions = { sveltePath, ...config.compileOptions };
require("../../register")(compileOptions);
try {
const Component = require(`${dir}/main.svelte`).default;
@ -133,18 +138,11 @@ describe("ssr", () => {
(config.skip ? it.skip : solo ? it.only : it)(dir, () => {
const cwd = path.resolve("test/runtime/samples", dir);
Object.keys(require.cache)
.filter(x => x.endsWith('.svelte'))
.forEach(file => {
delete require.cache[file];
});
cleanRequireCache();
delete global.window;
const compileOptions = Object.assign({ sveltePath }, config.compileOptions, {
generate: 'ssr',
format: 'cjs'
});
const compileOptions = { sveltePath, ...config.compileOptions };
require("../../register")(compileOptions);

@ -0,0 +1,5 @@
export default {
compileOptions: {
hydratable: true
}
};

@ -1 +1 @@
<title data-svelte="svelte-1csszk6">B</title>
<title>B</title>

@ -1 +1 @@
<title data-svelte="svelte-135agoq">a custom title</title>
<title>a custom title</title>
Loading…
Cancel
Save