Tests for admin search, simplifications

This commit is contained in:
Peter Jaszkowiak
2016-11-28 12:59:41 -07:00
parent e3dd68e19c
commit de6ced4e07
5 changed files with 238 additions and 122 deletions

82
test/search-admin.js Normal file
View File

@@ -0,0 +1,82 @@
'use strict';
/*global require*/
var assert = require('assert');
var search = require('../src/admin/search.js');
describe('admin search', function () {
describe('filterDirectories', function () {
it('should resolve all paths to relative paths', function (done) {
assert.deepEqual(search.filterDirectories([
'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl',
]), [
'admin/gdhgfsdg/sggag',
]);
done();
});
it('should exclude partials', function (done) {
assert.deepEqual(search.filterDirectories([
'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl',
'dfahdfsgf/admin/partials/hgkfds/fdhsdfh.tpl',
]), [
'admin/gdhgfsdg/sggag',
]);
done();
});
it('should exclude files in the admin directory', function (done) {
assert.deepEqual(search.filterDirectories([
'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl',
'dfdasg/admin/hjkdfsk.tpl',
]), [
'admin/gdhgfsdg/sggag',
]);
done();
});
});
describe('sanitize', function () {
it('should strip out scripts', function (done) {
assert.equal(
search.sanitize('Pellentesque tristique senectus' +
'<script>alert("nope");</script> habitant morbi'),
'Pellentesque tristique senectus' +
' habitant morbi'
);
done();
});
it('should remove all tags', function (done) {
assert.equal(
search.sanitize('<p>Pellentesque <b>habitant morbi</b> tristique senectus' +
'Aenean <i>vitae</i> est.Mauris <a href="placerat">eleifend</a> leo.</p>'),
'Pellentesque habitant morbi tristique senectus' +
'Aenean vitae est.Mauris eleifend leo.'
);
done();
});
});
describe('simplify', function () {
it('should remove all mustaches', function (done) {
assert.equal(
search.simplify(
'Pellentesque tristique {{senectus}}habitant morbi' +
'liquam tincidunt {{mauris.eu}}risus'
),
'Pellentesque tristique habitant morbi' +
'liquam tincidunt risus'
);
done();
});
it('should collapse all whitespace', function (done) {
assert.equal(
search.simplify(
'Pellentesque tristique habitant morbi' +
' \n\n liquam tincidunt mauris eu risus.'
),
'Pellentesque tristique habitant morbi' +
'\nliquam tincidunt mauris eu risus.'
);
done();
});
});
});

View File

@@ -233,3 +233,15 @@ describe('Translator modules', function () {
done();
});
});
describe('Translator static methods', function () {
describe('.removePatterns', function () {
it('should remove translator patterns from text', function (done) {
assert.strictEqual(
Translator.removePatterns('Lorem ipsum dolor [[sit:amet]], consectetur adipiscing elit. [[sed:vitae, [[semper:dolor]]]] lorem'),
'Lorem ipsum dolor , consectetur adipiscing elit. lorem'
);
done();
});
});
});