2021-11-02 07:32:17 -07:00
|
|
|
import { marked, setOptions, getDefaults } from '../../src/marked.js';
|
|
|
|
import { isEqual, firstDiff } from './html-differ.js';
|
|
|
|
import { strictEqual } from 'assert';
|
2019-03-11 11:20:33 -05:00
|
|
|
|
2019-03-11 11:12:46 -05:00
|
|
|
beforeEach(() => {
|
2021-11-02 07:32:17 -07:00
|
|
|
setOptions(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);
|
2021-11-02 07:32:17 -07:00
|
|
|
result.pass = await 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 {
|
2021-11-02 07:32:17 -07:00
|
|
|
const diff = await 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 = {};
|
2021-11-02 07:32:17 -07:00
|
|
|
result.pass = await isEqual(expected, actual);
|
2020-04-02 00:22:40 -05:00
|
|
|
|
|
|
|
if (result.pass) {
|
|
|
|
result.message = `Expected '${actual}' not to equal '${expected}'`;
|
|
|
|
} else {
|
2021-11-02 07:32:17 -07:00
|
|
|
const diff = await firstDiff(actual, expected);
|
2020-04-02 00:22:40 -05:00
|
|
|
result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`;
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
};
|
2020-04-16 10:39:32 +03:00
|
|
|
},
|
2020-04-17 09:22:52 +03:00
|
|
|
toRenderExact: () => ({
|
2020-04-16 10:39:32 +03:00
|
|
|
compare: async(spec, expected) => {
|
|
|
|
const result = {};
|
|
|
|
const actual = marked(spec.markdown, spec.options);
|
2020-04-17 09:29:48 +03:00
|
|
|
|
2021-11-02 07:32:17 -07:00
|
|
|
result.pass = strictEqual(expected, actual) === undefined;
|
2020-04-16 10:39:32 +03:00
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
})
|
2019-03-09 23:39:50 -06:00
|
|
|
});
|
2018-04-09 21:45:37 -05:00
|
|
|
});
|