add preloadRoutes function - closes #160

This commit is contained in:
Rich Harris
2018-03-04 18:05:33 -05:00
parent acef0e808f
commit 7e2f5f8fb6
3 changed files with 22 additions and 8 deletions

View File

@@ -1,6 +1,8 @@
import { init } from '../../../runtime.js';
import { init, preloadRoutes } from '../../../runtime.js';
import { routes } from './manifest/client.js';
window.init = () => {
return init(document.querySelector('#sapper'), routes);
};
};
window.preloadRoutes = preloadRoutes;

View File

@@ -23,6 +23,10 @@ Nightmare.action('init', function(done) {
this.evaluate_now(() => window.init(), done);
});
Nightmare.action('preloadRoutes', function(done) {
this.evaluate_now(() => window.preloadRoutes(), done);
});
function run(env) {
describe(`env=${env}`, function () {
this.timeout(30000);
@@ -155,7 +159,7 @@ function run(env) {
});
it('navigates to a new page without reloading', () => {
return capture(() => nightmare.goto(base).init().wait(400))
return capture(() => nightmare.goto(base).init().preloadRoutes())
.then(() => {
return capture(() => nightmare.click('a[href="/about"]'));
})
@@ -189,7 +193,6 @@ function run(env) {
return nightmare
.goto(`${base}/about`)
.init()
.wait(200)
.then(() => {
return capture(() => {
return nightmare
@@ -215,7 +218,7 @@ function run(env) {
it('reuses prefetch promise', () => {
return nightmare
.goto(`${base}/blog`)
.init().wait(300)
.init()
.then(() => {
return capture(() => {
return nightmare