|
|
@@ -200,13 +200,13 @@ describe( 'Widget', () => {
|
|
|
expect( viewDocument.selection.fakeSelectionLabel ).to.equal( 'element label' );
|
|
|
} );
|
|
|
|
|
|
- it( 'should add selected class when no only a widget is selected', () => {
|
|
|
+ it( 'should add selected class when other content is selected with widget', () => {
|
|
|
setModelData( model, '[<paragraph>foo</paragraph><widget></widget><widget></widget>]' );
|
|
|
|
|
|
expect( viewDocument.selection.isFake ).to.be.false;
|
|
|
expect( getViewData( view ) ).to.equal(
|
|
|
- '[' +
|
|
|
- '<p>foo</p>' +
|
|
|
+
|
|
|
+ '<p>{foo</p>' +
|
|
|
'<div class="ck-widget ck-widget_selected" contenteditable="false"><b></b></div>' +
|
|
|
'<div class="ck-widget ck-widget_selected" contenteditable="false"><b></b></div>' +
|
|
|
']'
|
|
|
@@ -1348,5 +1348,31 @@ describe( 'Widget', () => {
|
|
|
'</div>'
|
|
|
);
|
|
|
} );
|
|
|
+
|
|
|
+ it( 'should select widget in editable', () => {
|
|
|
+ model.schema.extend( 'widget', { allowIn: 'nested' } );
|
|
|
+
|
|
|
+ setModelData( model, '[]<widget><nested><widget></widget></nested></widget>' );
|
|
|
+
|
|
|
+ const widgetInEditable = viewDocument.getRoot().getChild( 0 ).getChild( 0 ).getChild( 0 );
|
|
|
+
|
|
|
+ const domEventDataMock = {
|
|
|
+ target: widgetInEditable,
|
|
|
+ preventDefault: sinon.spy()
|
|
|
+ };
|
|
|
+
|
|
|
+ viewDocument.fire( 'mousedown', domEventDataMock );
|
|
|
+
|
|
|
+ expect( getViewData( view ) ).to.equal(
|
|
|
+ '<div class="ck-widget ck-widget_selectable" contenteditable="false">' +
|
|
|
+ '<figcaption contenteditable="true">' +
|
|
|
+ '[<div class="ck-widget ck-widget_selectable ck-widget_selected" contenteditable="false">' +
|
|
|
+ '<div class="ck ck-widget__selection-handler"></div>' +
|
|
|
+ '</div>]' +
|
|
|
+ '</figcaption>' +
|
|
|
+ '<div class="ck ck-widget__selection-handler"></div>' +
|
|
|
+ '</div>'
|
|
|
+ );
|
|
|
+ } );
|
|
|
} );
|
|
|
} );
|