/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
import { testDataProcessor } from '../_utils/utils';
describe( 'GFMDataProcessor', () => {
// Horizontal rules are are always rendered by GitHub as
and normalized when converting
// back to * * *.
describe( 'horizontal rules', () => {
describe( 'dashes', () => {
it( '#1', () => {
testDataProcessor( '---', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' ---', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' ---', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' ---', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' ---',
// Four spaces are interpreted as code block.
'---
',
// Code block will be normalized to ``` representation.
'```\n' +
'---\n' +
'```'
);
} );
} );
describe( 'dashes with spaces', () => {
it( '#1', () => {
testDataProcessor( '- - -', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' - - -', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' - - -', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' - - -', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' - - -',
// Four spaces are interpreted as code block.
'- - -
',
// Code block will be normalized to ``` representation.
'```\n' +
'- - -\n' +
'```'
);
} );
} );
describe( 'asterisks', () => {
it( '#1', () => {
testDataProcessor( '***', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' ***', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' ***', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' ***', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' ***',
// Four spaces are interpreted as code block.
'***
',
// Code block will be normalized to ``` representation.
'```\n' +
'***\n' +
'```'
);
} );
} );
describe( 'asterisks with spaces', () => {
it( '#1', () => {
testDataProcessor( '* * *', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' * * *', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' * * *', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' * * *', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' * * *',
// Four spaces are interpreted as code block.
'* * *
',
// Code block will be normalized to ``` representation.
'```\n' +
'* * *\n' +
'```'
);
} );
} );
describe( 'underscores', () => {
it( '#1', () => {
testDataProcessor( '___', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' ___', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' ___', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' ___', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' ___',
// Four spaces are interpreted as code block.
'___
',
// Code block will be normalized to ``` representation.
'```\n' +
'___\n' +
'```'
);
} );
} );
describe( 'underscores with spaces', () => {
it( '#1', () => {
testDataProcessor( '_ _ _', '
', '* * *' );
} );
it( '#2', () => {
testDataProcessor( ' _ _ _', '
', '* * *' );
} );
it( '#3', () => {
testDataProcessor( ' _ _ _', '
', '* * *' );
} );
it( '#4', () => {
testDataProcessor( ' _ _ _', '
', '* * *' );
} );
it( '#5 - code', () => {
testDataProcessor(
' _ _ _',
// Four spaces are interpreted as code block.
'_ _ _
',
// Code block will be normalized to ``` representation.
'```\n' +
'_ _ _\n' +
'```'
);
} );
} );
} );
} );