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

Commit

Permalink
Aligned code to the changes in DocumentSelection API.
Browse files Browse the repository at this point in the history
  • Loading branch information
ma2ciek committed Jan 25, 2018
1 parent 7bbcc0c commit 32019b7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
4 changes: 2 additions & 2 deletions src/attributecommand.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ export default class AttributeCommand extends Command {
model.change( writer => {
if ( selection.isCollapsed ) {
if ( value ) {
selection.setAttribute( this.attributeKey, true );
writer.setSelectionAttribute( this.attributeKey, true );
} else {
selection.removeAttribute( this.attributeKey );
writer.removeSelectionAttribute( this.attributeKey );
}
} else {
const ranges = model.schema.getValidRanges( selection.getRanges(), this.attributeKey );
Expand Down
26 changes: 13 additions & 13 deletions tests/attributecommand.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,20 @@ describe( 'AttributeCommand', () => {

describe( 'value', () => {
it( 'is true when selection has the attribute', () => {
model.change( () => {
doc.selection.setAttribute( attrKey, true );
model.change( writer => {
writer.setSelectionAttribute( attrKey, true );
} );

expect( command.value ).to.be.true;
} );

it( 'is false when selection does not have the attribute', () => {
model.change( () => {
doc.selection.setAttribute( attrKey, true );
model.change( writer => {
writer.setSelectionAttribute( attrKey, true );
} );

model.change( () => {
doc.selection.removeAttribute( attrKey );
model.change( writer => {
writer.removeSelectionAttribute( attrKey );
} );

expect( command.value ).to.be.false;
Expand Down Expand Up @@ -202,12 +202,12 @@ describe( 'AttributeCommand', () => {

// It should not save that bold was executed at position ( root, [ 0, 1 ] ).

model.change( () => {
model.change( writer => {
// Simulate clicking right arrow key by changing selection ranges.
doc.selection.setRanges( [ new Range( new Position( root, [ 0, 2 ] ), new Position( root, [ 0, 2 ] ) ) ] );
writer.setSelection( new Range( new Position( root, [ 0, 2 ] ), new Position( root, [ 0, 2 ] ) ) );

// Get back to previous selection.
doc.selection.setRanges( [ new Range( new Position( root, [ 0, 1 ] ), new Position( root, [ 0, 1 ] ) ) ] );
writer.setSelection( new Range( new Position( root, [ 0, 1 ] ), new Position( root, [ 0, 1 ] ) ) );
} );

expect( command.value ).to.be.false;
Expand All @@ -225,15 +225,15 @@ describe( 'AttributeCommand', () => {

// Attribute should be stored.
// Simulate clicking somewhere else in the editor.
model.change( () => {
doc.selection.setRanges( [ new Range( new Position( root, [ 0, 2 ] ), new Position( root, [ 0, 2 ] ) ) ] );
model.change( writer => {
writer.setSelection( [ new Range( new Position( root, [ 0, 2 ] ), new Position( root, [ 0, 2 ] ) ) ] );
} );

expect( command.value ).to.be.false;

// Go back to where attribute was stored.
model.change( () => {
doc.selection.setRanges( [ new Range( new Position( root, [ 1, 0 ] ), new Position( root, [ 1, 0 ] ) ) ] );
model.change( writer => {
writer.setSelection( new Range( new Position( root, [ 1, 0 ] ), new Position( root, [ 1, 0 ] ) ) );
} );

// Attribute should be restored.
Expand Down

0 comments on commit 32019b7

Please sign in to comment.