exports.check = function(marko, hotReload, expect) { try { fs.mkdirSync(nodePath.join(__dirname, 'temp')); } catch(e) {} try { fs.unlinkSync(nodePath.join(__dirname, 'temp/component.js')); } catch(e) {} try { fs.unlinkSync(nodePath.join(__dirname, 'temp/index.marko')); } catch(e) {} try { fs.unlinkSync(nodePath.join(__dirname, 'temp/index.marko.js')); } catch(e) {} var tempTemplatePath = nodePath.join(__dirname, 'temp/index.marko'); copyFiles(nodePath.join(__dirname, 'a')); var component = require(tempTemplatePath); expect(component.renderToString({ name: 'Frank' })).to.equal('<div class="a" id="s0">Hello Frank</div>'); try { fs.unlinkSync(nodePath.join(__dirname, 'temp/component.js')); } catch(e) {} hotReload.handleFileModified(tempTemplatePath); copyFiles(nodePath.join(__dirname, 'b')); expect(component.renderToString({ name: 'Jane' })).to.equal('<div class="b">Hello Jane</div>'); };
exports.check = function(marko, hotReload, expect, snapshot) { try { fs.mkdirSync(nodePath.join(__dirname, "temp")); } catch (e) { /* ignore error */ } try { fs.unlinkSync(nodePath.join(__dirname, "temp/component.js")); } catch (e) { /* ignore error */ } try { fs.unlinkSync(nodePath.join(__dirname, "temp/index.marko")); } catch (e) { /* ignore error */ } try { fs.unlinkSync(nodePath.join(__dirname, "temp/index.marko.js")); } catch (e) { /* ignore error */ } var tempTemplatePath = nodePath.join(__dirname, "temp/index.marko"); copyFiles(nodePath.join(__dirname, "a")); var component = require(tempTemplatePath); snapshot(component.renderToString({ name: "Frank" }), { name: "initial", ext: ".html" }); try { fs.unlinkSync(nodePath.join(__dirname, "temp/component.js")); } catch (e) { /* ignore error */ } hotReload.handleFileModified(tempTemplatePath); copyFiles(nodePath.join(__dirname, "b")); snapshot(component.renderToString({ name: "Jane" }), { name: "reloaded", ext: ".html" }); };
match({ routes, location: ctx.req.url }, (err, redirect, props) => { if (err) { ctx.status = 500; ctx.body = err.message; } else if (redirect) { ctx.redirect(redirect.pathname + redirect.search); } else if (props) { const appHtml = renderToString(<RouterContext {...props}/>); ctx.body = this.renderPage(appHtml); } else { ctx.redirect('/bots'); } });