Skip to content
This repository was archived by the owner on Jun 26, 2020. It is now read-only.

Commit cd03e20

Browse files
authored
Merge pull request #7 from ckeditor/t/ckeditor5/5978
Fix: Spell checker is now disabled inside code blocks. Closes ckeditor/ckeditor5#5978.
2 parents 4515b26 + 20b3ddc commit cd03e20

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/converters.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ export function modelToViewCodeBlockInsertion( model, languageDefs, useLabels =
6666
const targetViewPosition = mapper.toViewPosition( model.createPositionBefore( data.item ) );
6767
const preAttributes = {};
6868

69-
// The attribute added only in the editing view.
69+
// Attributes added only in the editing view.
7070
if ( useLabels ) {
7171
preAttributes[ 'data-language' ] = languagesToLabels[ codeBlockLanguage ];
72+
preAttributes.spellcheck = 'false';
7273
}
7374

7475
const pre = writer.createContainerElement( 'pre', preAttributes );

tests/codeblockediting.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -575,13 +575,19 @@ describe( 'CodeBlockEditing', () => {
575575
it( 'should convert empty codeBlock to empty pre tag', () => {
576576
setModelData( model, '<codeBlock language="plaintext"></codeBlock>' );
577577

578-
expect( getViewData( view ) ).to.equal( '<pre data-language="Plain text"><code class="language-plaintext">[]</code></pre>' );
578+
expect( getViewData( view ) ).to.equal(
579+
'<pre data-language="Plain text" spellcheck="false">' +
580+
'<code class="language-plaintext">[]</code>' +
581+
'</pre>' );
579582
} );
580583

581584
it( 'should convert non-empty codeBlock to pre tag', () => {
582585
setModelData( model, '<codeBlock language="plaintext">Foo</codeBlock>' );
583586

584-
expect( getViewData( view ) ).to.equal( '<pre data-language="Plain text"><code class="language-plaintext">{}Foo</code></pre>' );
587+
expect( getViewData( view ) ).to.equal(
588+
'<pre data-language="Plain text" spellcheck="false">' +
589+
'<code class="language-plaintext">{}Foo</code>' +
590+
'</pre>' );
585591
} );
586592

587593
it( 'should convert codeBlock with softBreaks to pre tag #1', () => {
@@ -594,7 +600,7 @@ describe( 'CodeBlockEditing', () => {
594600
);
595601

596602
expect( getViewData( view ) ).to.equal(
597-
'<pre data-language="Plain text">' +
603+
'<pre data-language="Plain text" spellcheck="false">' +
598604
'<code class="language-plaintext">{}Foo<br></br>Bar<br></br>Biz</code>' +
599605
'</pre>' );
600606
} );
@@ -611,7 +617,7 @@ describe( 'CodeBlockEditing', () => {
611617
);
612618

613619
expect( getViewData( view ) ).to.equal(
614-
'<pre data-language="Plain text">' +
620+
'<pre data-language="Plain text" spellcheck="false">' +
615621
'<code class="language-plaintext">[]<br></br><br></br>Foo<br></br><br></br></code>' +
616622
'</pre>' );
617623
} );
@@ -635,7 +641,7 @@ describe( 'CodeBlockEditing', () => {
635641
);
636642

637643
expect( getViewData( view ) ).to.equal(
638-
'<pre data-language="Zwykły tekst">' +
644+
'<pre data-language="Zwykły tekst" spellcheck="false">' +
639645
'<code class="language-plaintext">{}foo</code>' +
640646
'</pre>' );
641647

@@ -666,7 +672,7 @@ describe( 'CodeBlockEditing', () => {
666672
setModelData( model, '<codeBlock language="cpp">foo</codeBlock>' );
667673

668674
expect( getViewData( view ) ).to.equal(
669-
'<pre data-language="C++">' +
675+
'<pre data-language="C++" spellcheck="false">' +
670676
'<code>{}foo</code>' +
671677
'</pre>' );
672678

0 commit comments

Comments
 (0)