marked/test/helpers/helpers.js
2020-04-02 00:24:21 -05:00

43 lines
1.3 KiB
JavaScript

const marked = require('../../src/marked.js');
const htmlDiffer = require('./html-differ.js');
beforeEach(() => {
marked.setOptions(marked.getDefaults());
jasmine.addAsyncMatchers({
toRender: () => {
return {
compare: async(spec, expected) => {
const result = {};
const actual = marked(spec.markdown, spec.options);
result.pass = await htmlDiffer.isEqual(expected, actual);
if (result.pass) {
result.message = `${spec.markdown}\n------\n\nExpected: Should Fail`;
} else {
const diff = await htmlDiffer.firstDiff(actual, expected);
result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`;
}
return result;
}
};
},
toEqualHtml: () => {
return {
compare: async(actual, expected) => {
const result = {};
result.pass = await htmlDiffer.isEqual(expected, actual);
if (result.pass) {
result.message = `Expected '${actual}' not to equal '${expected}'`;
} else {
const diff = await htmlDiffer.firstDiff(actual, expected);
result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`;
}
return result;
}
};
}
});
});