UNPKG

1.35 kBJavaScriptView Raw
1'use strict';
2
3var Layouts = require('../');
4var file = require('fs-utils');
5var matter = require('gray-matter');
6var File = require('vinyl');
7
8function loadLayouts (layouts) {
9 file.find('test/fixtures/layouts/*.hbs').forEach(function (filepath) {
10 var obj = matter.read(filepath);
11 var layout = new File({contents: new Buffer(obj.content)});
12 layout.locals = obj.data;
13 layout.orig = new Buffer(obj.original);
14 layouts.set(file.basename(filepath), layout);
15 });
16}
17
18function loadPages () {
19 return file.find('test/fixtures/pages/*.hbs').map(function (filepath) {
20 var obj = matter(file.readFileSync(filepath));
21 var page = new File({contents: new Buffer(obj.content)});
22 page.locals = obj.data;
23 page.orig = new Buffer(obj.original);
24 return page;
25 });
26}
27
28describe('Layouts', function () {
29 it('should create a layout stack', function () {
30 var layouts = new Layouts({layout: 'default'});
31 loadLayouts(layouts);
32 console.log(layouts);
33 console.log();
34
35 var stack = layouts.createStack({layout: 'default'});
36 console.log('stack', stack);
37 console.log();
38
39 var pages = loadPages();
40 console.log('pages', pages);
41 console.log();
42
43 pages.forEach(function (page) {
44 var template = layouts.render(page);
45 console.log('template', template.contents.toString());
46 });
47
48 });
49});
\No newline at end of file