marked/test/helpers/helpers.js

54 lines
1.6 KiB
JavaScript
Raw Normal View History

2019-11-06 12:15:12 -06:00
const marked = require('../../src/marked.js');
2019-03-13 08:50:11 -05:00
const htmlDiffer = require('./html-differ.js');
const assert = require('assert').strict;
2019-03-11 11:20:33 -05:00
2019-03-11 11:12:46 -05:00
beforeEach(() => {
2018-04-10 07:53:59 -05:00
marked.setOptions(marked.getDefaults());
2019-03-09 23:39:50 -06:00
2019-08-27 13:56:04 -05:00
jasmine.addAsyncMatchers({
2019-03-11 11:12:46 -05:00
toRender: () => {
2019-03-09 23:39:50 -06:00
return {
2019-08-27 13:56:04 -05:00
compare: async(spec, expected) => {
2019-03-09 23:39:50 -06:00
const result = {};
const actual = marked(spec.markdown, spec.options);
2019-08-27 13:56:04 -05:00
result.pass = await htmlDiffer.isEqual(expected, actual);
2019-03-09 23:39:50 -06:00
if (result.pass) {
2019-03-13 10:39:01 -05:00
result.message = `${spec.markdown}\n------\n\nExpected: Should Fail`;
2019-03-09 23:39:50 -06:00
} else {
2019-08-27 13:56:04 -05:00
const diff = await htmlDiffer.firstDiff(actual, expected);
2019-03-13 10:39:01 -05:00
result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`;
2019-03-09 23:39:50 -06:00
}
return result;
}
};
2020-04-02 00:22:40 -05:00
},
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;
}
};
},
toRenderExact: () => ({
compare: async(spec, expected) => {
const result = {};
const actual = marked(spec.markdown, spec.options);
2020-04-17 09:28:53 +03:00
result.pass = assert.deepStrictEqual(expected, actual) === undefined;
return result;
}
})
2019-03-09 23:39:50 -06:00
});
2018-04-09 21:45:37 -05:00
});