marked/test/helpers/helpers.js
Ben McCann 4afb228d95
fix: Convert to ESM (#2227)
BREAKING CHANGE:

- Default export removed. Use `import { marked } from 'marked'` or `const { marked } = require('marked')` instead.
- `/lib/marked.js` removed. Use `/marked.min.js` in script tag instead.
- When using marked in a script tag use `marked.parse(...)` instead of `marked(...)`
2021-11-02 09:32:17 -05:00

54 lines
1.6 KiB
JavaScript

import { marked, setOptions, getDefaults } from '../../src/marked.js';
import { isEqual, firstDiff } from './html-differ.js';
import { strictEqual } from 'assert';
beforeEach(() => {
setOptions(getDefaults());
jasmine.addAsyncMatchers({
toRender: () => {
return {
compare: async(spec, expected) => {
const result = {};
const actual = marked(spec.markdown, spec.options);
result.pass = await isEqual(expected, actual);
if (result.pass) {
result.message = `${spec.markdown}\n------\n\nExpected: Should Fail`;
} else {
const diff = await 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 isEqual(expected, actual);
if (result.pass) {
result.message = `Expected '${actual}' not to equal '${expected}'`;
} else {
const diff = await 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);
result.pass = strictEqual(expected, actual) === undefined;
return result;
}
})
});
});