diff --git a/bender.js b/bender.js index d69327d252d..eb9a1ae3708 100644 --- a/bender.js +++ b/bender.js @@ -85,7 +85,11 @@ var config = { 'tests/plugins/magicline/widgets#test commands[previous], first block in nested': 'env.gecko', 'tests/plugins/magicline/widgets#test commands[next], block after block in nested': 'env.gecko', 'tests/plugins/magicline/widgets#test commands[previous], block before block in nested': 'env.gecko', - 'tests/plugins/magicline/widgets#test commands[next], last block in nested': 'env.gecko' + 'tests/plugins/magicline/widgets#test commands[next], last block in nested': 'env.gecko', + + // Safari (#12690) + 'tests/plugins/font/font#test apply font size over another font size (collapsed selection in empty span)': 'env.safari', + 'tests/plugins/font/font#test apply font size over another font size (deeply nested collapsed selection)': 'env.safari' } }, @@ -117,7 +121,11 @@ var config = { paths: [ 'utils/**', '!**/_*/**' - ] + ], + regressions: { + // Safari (#12690) + 'tests/utils/selection/setgetwithhtml#test setSelection - in empty inline element': 'env.safari' + } } } }; diff --git a/tests/core/selection/selection.js b/tests/core/selection/selection.js index ae6ca2d0438..733af386e8e 100644 --- a/tests/core/selection/selection.js +++ b/tests/core/selection/selection.js @@ -229,6 +229,23 @@ bender.test( { 'the selection was located after the strong element' ); }, + // #12690 + 'test selectRanges - inside empty inline element': function() { + var editor = this.editor, + range = editor.createRange(); + + editor.editable().setHtml( '

xx

' ); + + var strong = editor.document.getById( 'target' ); + range.setStart( strong, 0 ); + range.collapse( true ); + + editor.getSelection().selectRanges( [ range ] ); + + var sel = editor.getSelection(); + assert.isTrue( strong.equals( sel.getStartElement() ) ); + }, + 'test getSelectedElement': function() { testSelectedElement( '[]', 'img' ); testSelectedElement( '[
]', 'hr' ); diff --git a/tests/utils/selection/setgetwithhtml.js b/tests/utils/selection/setgetwithhtml.js index 93bdf1dd403..6b977bb9974 100644 --- a/tests/utils/selection/setgetwithhtml.js +++ b/tests/utils/selection/setgetwithhtml.js @@ -100,6 +100,16 @@ } ); }, + // #12690 + 'test setSelection - in empty inline element': function() { + var editor = this.editor; + + bender.tools.selection.setWithHtml( editor, '

x[]x

' ); + + var sel = editor.getSelection(); + assert.areSame( 'strong', sel.getStartElement().getName() ); + }, + 'test getSelection - element': function() { var editor = this.editor, htmlWithRange = '

[x]

';