Index: /CKEditor/tests/tt/4886/1.html
===================================================================
--- /CKEditor/tests/tt/4886/1.html	(revision 4801)
+++ /CKEditor/tests/tt/4886/1.html	(revision 4801)
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Ticket: #4886</title>
+	<meta name="tags" content="editor,unit,all">
+	<script type="text/javascript" src="../../cktester/cell.js"></script>
+	<script type="text/javascript">
+
+// Load the required plugins and launch the runner.
+CKEDITOR.test.runner.defer = true;
+CKEDITOR.plugins.load( [ 'styles', 'domiterator', 'htmldataprocessor' ] , function()
+{
+ CKEDITOR.test.runner.run();
+} );
+
+	</script>
+	<script type="text/javascript">
+	//<![CDATA[
+var tc;
+
+CKEDITOR.test.addTestCase( tc = (function()
+{
+	// Local references.
+	var assert			= CKEDITOR.test.assert;
+	var getInnerHtml	= CKEDITOR.test.getInnerHtml;
+
+	function getInnerHtmlParsed( element )
+	{
+		var dataProcessor = new CKEDITOR.htmlDataProcessor();
+		dataProcessor.writer = new CKEDITOR.htmlParser.basicWriter();
+		return dataProcessor.toDataFormat( getInnerHtml( element, false ) );
+	}
+
+	var doc = new CKEDITOR.dom.document( document );
+
+	return {
+//		shouldIgnoreAllBut : [ 'test_apply_exclude_tail_br', 'test_apply_exclude_tail_br2' ],
+
+		// We should not include in the range the tail brs which are always line-breaks. (#4886)
+		test_apply_exclude_tail_br : function()
+		{
+			var element = doc.getById( '_P1' );
+			element.setHtml( '<b>text</b><br/>' );
+
+			var range = new CKEDITOR.dom.range( doc );
+			range.selectNodeContents( element.getChild( 0, 0 ) );
+
+			var style = new CKEDITOR.style( { element : 'span' } );
+			style.applyToRange( range );
+
+			var output = '<span><b>text</b></span><br />';
+
+			assert.areSame( CKEDITOR.test.fixHtml( output ), getInnerHtmlParsed( element ) );
+		},
+
+		test_apply_exclude_tail_br2 : function()
+		{
+			var element = doc.getById( '_P1' );
+			element.setHtml( '<i><b>text</b><br/><i>' );
+
+			var range = new CKEDITOR.dom.range( doc );
+			range.selectNodeContents( element.getChild( 0, 0 ) );
+
+			var style = new CKEDITOR.style( { element : 'span' } );
+			style.applyToRange( range );
+
+			var output = '<span><i><b>text</b></i></span><i><br /></i>';
+
+			assert.areSame( output, getInnerHtmlParsed( element ) );
+		},
+
+		name : document.title
+	};
+})() );
+	//]]>
+	</script>
+</head>
+<body>
+	<div id="_P1"></div>
+</body>
+</html>
