utils.js 1010 B

1234567891011121314151617181920212223
  1. import { stringify } from '/ckeditor5/engine/dev-utils/view.js';
  2. import MarkdownDataProcessor from '/ckeditor5/markdown-gfm/gfmdataprocessor.js';
  3. /**
  4. * Tests MarkdownDataProcessor.
  5. *
  6. * @param {String} markdown Markdown to be processed to view.
  7. * @param {String} viewString Expected view structure.
  8. * @param {String} [normalizedMarkdown] When converting back to the markdown it might be different than provided input
  9. * markdown string (which will be used if this parameter is not provided).
  10. */
  11. export function testDataProcessor( markdown, viewString, normalizedMarkdown ) {
  12. const dataProcessor = new MarkdownDataProcessor();
  13. const viewFragment = dataProcessor.toView( markdown );
  14. // Check if view has correct data.
  15. expect( stringify( viewFragment ) ).to.equal( viewString );
  16. // Check if converting back gives the same result.
  17. const normalized = typeof normalizedMarkdown !== 'undefined' ? normalizedMarkdown : markdown;
  18. expect( dataProcessor.toData( viewFragment ) ).to.equal( normalized );
  19. }