Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions test/engine_handlebars_tests.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
"use strict";

// don't run these tests unless handlebars is installed
try { var handlebars = require('handlebars'); }
catch (err) { return; }

var path = require('path');
var pa = require('../core/lib/pattern_assembler');
var Pattern = require('../core/lib/object_factory').Pattern;
var testPatternsPath = path.resolve(__dirname, 'files', '_handlebars-test-patterns');
var eol = require('os').EOL;

try {
require('handlebars');
} catch (err) {
console.log('handlebars renderer not installed; skipping tests');
return;
}

// fake pattern lab constructor:
// sets up a fake patternlab object, which is needed by the pattern processing
// apparatus.
Expand Down Expand Up @@ -194,3 +183,11 @@ exports['engine_handlebars'] = {
]);
}
};


// don't run these tests unless handlebars is installed
var engineLoader = require('../core/lib/pattern_engines');
if (!engineLoader.handlebars) {
console.log("Handlebars engine not installed, skipping tests.");
delete exports.engine_handlebars;
}
20 changes: 8 additions & 12 deletions test/engine_twig_tests.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,11 @@
"use strict";
/*eslint-disable dot-notation*/

// don't run these tests unless twig is installed
try { var twig = require('twig'); }
catch (err) { return; }

var path = require('path');
var pa = require('../core/lib/pattern_assembler');
var Pattern = require('../core/lib/object_factory').Pattern;
var testPatternsPath = path.resolve(__dirname, 'files', '_twig-test-patterns');
var eol = require('os').EOL;

try {
require('twig');
} catch (err) {
console.log('twig renderer not installed; skipping tests');
return;
}

// fake pattern lab constructor:
// sets up a fake patternlab object, which is needed by the pattern processing
// apparatus.
Expand Down Expand Up @@ -193,3 +181,11 @@ exports['engine_twig'] = {
]);
}
};


// don't run these tests unless twig is installed
var engineLoader = require('../core/lib/pattern_engines');
if (!engineLoader.twig) {
console.log("Twig engine not installed, skipping tests.");
delete exports.engine_twig;
}
144 changes: 72 additions & 72 deletions test/engine_underscore_tests.js
Original file line number Diff line number Diff line change
@@ -1,85 +1,85 @@
(function () {
"use strict";
"use strict";

var path = require('path');
var pa = require('../core/lib/pattern_assembler');
var testPatternsPath = path.resolve(__dirname, 'files', '_underscore-test-patterns');
var eol = require('os').EOL;
var path = require('path');
var pa = require('../core/lib/pattern_assembler');
var testPatternsPath = path.resolve(__dirname, 'files', '_underscore-test-patterns');
var eol = require('os').EOL;

try {
require('underscore');
} catch (err) {
console.log('underscore renderer not installed; skipping tests');
return;
}
// fake pattern lab constructor:
// sets up a fake patternlab object, which is needed by the pattern processing
// apparatus.
function fakePatternLab() {
var fpl = {
partials: {},
patterns: [],
footer: '',
header: '',
listitems: {},
listItemArray: [],
data: {
link: {}
},
config: require('../patternlab-config.json'),
package: {}
};

// fake pattern lab constructor:
// sets up a fake patternlab object, which is needed by the pattern processing
// apparatus.
function fakePatternLab() {
var fpl = {
partials: {},
patterns: [],
footer: '',
header: '',
listitems: {},
listItemArray: [],
data: {
link: {}
},
config: require('../patternlab-config.json'),
package: {}
};
// patch the pattern source so the pattern assembler can correctly determine
// the "subdir"
fpl.config.paths.source.patterns = testPatternsPath;

// patch the pattern source so the pattern assembler can correctly determine
// the "subdir"
fpl.config.paths.source.patterns = testPatternsPath;
return fpl;
}

return fpl;
}
exports['engine_underscore'] = {
'hello world underscore pattern renders': function (test) {
test.expect(1);

exports['engine_underscore'] = {
'hello world underscore pattern renders': function (test) {
test.expect(1);
var patternPath = path.resolve(
testPatternsPath,
'00-atoms',
'00-global',
'00-helloworld.html'
);

var patternPath = path.resolve(
testPatternsPath,
'00-atoms',
'00-global',
'00-helloworld.html'
);
// do all the normal processing of the pattern
var patternlab = new fakePatternLab();
var assembler = new pa();
var helloWorldPattern = assembler.process_pattern_iterative(patternPath, patternlab);
assembler.process_pattern_recursive(patternPath, patternlab);

// do all the normal processing of the pattern
var patternlab = new fakePatternLab();
var assembler = new pa();
var helloWorldPattern = assembler.process_pattern_iterative(patternPath, patternlab);
assembler.process_pattern_recursive(patternPath, patternlab);
test.equals(helloWorldPattern.render(), 'Hello world!' + eol);
test.done();
},
'underscore partials can render JSON values': function (test) {
test.expect(1);

test.equals(helloWorldPattern.render(), 'Hello world!' + eol);
test.done();
},
'underscore partials can render JSON values': function (test) {
test.expect(1);
// pattern paths
var pattern1Path = path.resolve(
testPatternsPath,
'00-atoms',
'00-global',
'00-helloworld-withdata.html'
);

// pattern paths
var pattern1Path = path.resolve(
testPatternsPath,
'00-atoms',
'00-global',
'00-helloworld-withdata.html'
);
// set up environment
var patternlab = new fakePatternLab(); // environment
var assembler = new pa();

// set up environment
var patternlab = new fakePatternLab(); // environment
var assembler = new pa();
// do all the normal processing of the pattern
var helloWorldWithData = assembler.process_pattern_iterative(pattern1Path, patternlab);
assembler.process_pattern_recursive(pattern1Path, patternlab);

// do all the normal processing of the pattern
var helloWorldWithData = assembler.process_pattern_iterative(pattern1Path, patternlab);
assembler.process_pattern_recursive(pattern1Path, patternlab);
// test
test.equals(helloWorldWithData.render(), 'Hello world!' + eol + 'Yeah, we got the subtitle from the JSON.' + eol);
test.done();
}
};

// test
test.equals(helloWorldWithData.render(), 'Hello world!' + eol + 'Yeah, we got the subtitle from the JSON.' + eol);
test.done();
}
};
})();


// don't run these tests unless underscore is installed
var engineLoader = require('../core/lib/pattern_engines');
if (!engineLoader.underscore) {
console.log("Underscore engine not installed, skipping tests.");
delete exports.engine_underscore;
}