Index: /CKEditor/tests/dt/plugins/htmldataprocessor/htmldataprocessor.html
===================================================================
--- /CKEditor/tests/dt/plugins/htmldataprocessor/htmldataprocessor.html	(revision 4357)
+++ /CKEditor/tests/dt/plugins/htmldataprocessor/htmldataprocessor.html	(revision 4358)
@@ -14,4 +14,41 @@
  CKEDITOR.test.runner.run();
 } );
+/**
+ * Load the editor and wait for fully interactable.
+ * @param {Object} elementId
+ * @parma {Object} mode
+ * @param {Object} config
+ * @param {Object} callback Continuation with {@param editor}.
+ * @param {Object} context
+ */
+function prepareEditor( elementId, mode, config, callback, context )
+{
+	CKEDITOR.on( 'instanceReady',
+		function( evt )
+		{
+			var isMe = mode == CKEDITOR.ELEMENT_MODE_REPLACE ?
+				evt.editor.name == elementId
+				: evt.editor.element.$ ==
+					document.getElementById( elementId );
+			if ( isMe )
+			{
+				var editor = evt.editor;
+				// Force result data unformatted.
+				editor.dataProcessor.writer._.rules = {};
+				callback.call( context, editor );
+			}
+		}, this );
+
+	mode = mode || CKEDITOR.ELEMENT_MODE_REPLACE;
+	switch( mode )
+	{
+		case CKEDITOR.ELEMENT_MODE_REPLACE :
+			CKEDITOR.replace( elementId, config );
+			break;
+		case CKEDITOR.ELEMENT_MODE_APPENDTO :
+			CKEDITOR.appendTo( elementId, config );
+			break;
+	}
+}
 
 var testCase;
@@ -114,27 +151,13 @@
 		test_toDataFormat_ticket_2886_1 : function()
 		{
-			var editor = CKEDITOR.instances.editor1;
-			var test = this;
-			var isReady = !!editor.dataProcessor;
-
-			if ( !isReady )
+			prepareEditor( 'editor1', null, {}, function( editor )
 			{
-				editor.on( 'instanceReady', function()
+				this.resume( function()
 				{
-					isReady = true;
+					assert.areSame( '<p>&nbsp;</p>',
+						editor.dataProcessor.toDataFormat( '<p></p>' ) );
 				} );
-			}
-
-			this.wait( function()
-				{
-					if ( !isReady )
-					{
-						test.wait( arguments.callee, 100 );
-						return;
-					}
-
-					assert.areSame( '<p>\n\t&nbsp;</p>\n',
-						editor.dataProcessor.toDataFormat( '<p></p>' ) );
-				}, 100 );
+			}, this );
+			this.wait();
 		},
 
@@ -146,5 +169,5 @@
 			if ( CKEDITOR.env.ie )
 				source = '<p>Some text<br><br></p>';
-			assert.areSame( '<p>\n\tSome text<br />\n\t<br />\n\t&nbsp;</p>\n',
+			assert.areSame( '<p>Some text<br /><br />&nbsp;</p>',
 				dataProcessor.toDataFormat( source ) );
 		},
@@ -154,5 +177,5 @@
 			var dataProcessor = CKEDITOR.instances.editor1.dataProcessor;
 
-			assert.areSame( '<p>\n\tSome text<br />\n\t<br />\n\t<br />\n\tSome more text</p>\n',
+			assert.areSame( '<p>Some text<br /><br /><br />Some more text</p>',
 				dataProcessor.toDataFormat( '<p>Some text<br><br><br>Some more text</p>' ) );
 		},
@@ -162,5 +185,5 @@
 			var dataProcessor = CKEDITOR.instances.editor1.dataProcessor;
 
-			assert.areSame( '<p>\n\tSome text<br />\n\t<br />\n\t&nbsp;</p>\n',
+			assert.areSame( '<p>Some text<br /><br />&nbsp;</p>',
 				dataProcessor.toDataFormat( '<p>Some text<br><br>&nbsp;</p>' ) );
 		},
@@ -173,5 +196,5 @@
 			var dataProcessor = CKEDITOR.instances.editor1.dataProcessor;
 
-			assert.areSame( '<p>\n\t&nbsp;</p>\n',
+			assert.areSame( '<p>&nbsp;</p>',
 				dataProcessor.toDataFormat( '<p><br></p>' ) );
 		},
@@ -185,5 +208,5 @@
 				source = '<p><br></p>';
 
-			assert.areSame( '<p>\n\t<br />\n\t&nbsp;</p>\n',
+			assert.areSame( '<p><br />&nbsp;</p>',
 				dataProcessor.toDataFormat( source ) );
 		},
@@ -229,6 +252,6 @@
 		{
 			var dataProcessor = CKEDITOR.instances.editor1.dataProcessor;
-			assert.areSame( '<p>\n\t<br />\n\t&nbsp;</p>\n',
-				dataProcessor.toDataFormat( dataProcessor.toHtml( '<p><br />\n<br /></p>' ) ) );
+			assert.areSame( '<p><br />&nbsp;</p>',
+				dataProcessor.toDataFormat( dataProcessor.toHtml( '<p><br /><br /></p>' ) ) );
 		},
 
@@ -360,5 +383,5 @@
 </head>
 <body>
-	<textarea id="editor1" class="ckeditor" cols="80" rows="10"></textarea>
+	<textarea id="editor1"></textarea>
 	<textarea id="_TEXTAREA1"><script type="text/javascript">alert('>');</script><table><tbody><tr><!--- IE doesn't handle this comment ---><!--[if gte IE 6 ]>
 	<![if lt IE 8 ]>
