Index: /CKEditor/tests/tt/4445/1.html
===================================================================
--- /CKEditor/tests/tt/4445/1.html	(revision 4259)
+++ /CKEditor/tests/tt/4445/1.html	(revision 4259)
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+	<title>Ticket: #4445</title>
+	<meta name="tags" content="editor,unit,all">
+	<script type="text/javascript" src="../../cktester/cell.js"></script>
+	<script>
+( function()
+{
+	var ts, tc, assert = CKEDITOR.test.assert, doc = CKEDITOR.document;
+	YAHOO.tool.TestRunner.add( ts = new CKEDITOR.test.suites.editorTestSuite(
+		{
+				editorName : 'test_editor',
+				startupData :  'some data...',
+				name :document.title
+		} ) );
+
+	ts.add( tc = new YAHOO.tool.TestCase(
+		{
+			/**
+			 * Test the editor is fully interactive in setData callback.
+			 */
+			test_setData_callback_wysiwyg : function()
+			{
+				var editor = ts.editor;
+				editor.setData( '' , function()
+				{
+					tc.resume( function()
+					{
+						assert.isTrue( editor.checkDirty(), "editor should be dirty." );
+						assert.isTrue( editor.focusManager.hasFocus, "editor should have focus." );
+						// There's more than nothing in the editor now( test the fix body logic has triggered ).
+						assert.isTrue( editor.getSnapshot().search( /<p>/i ) != -1, "editor should has a paragraph established." );
+					} );
+				} );
+				editor.focus();
+				tc.wait();
+			}
+		} ) );
+} )();
+	</script>
+</head>
+<body>
+</body>
+</html>
Index: /CKEditor/tests/tt/4445/2.html
===================================================================
--- /CKEditor/tests/tt/4445/2.html	(revision 4259)
+++ /CKEditor/tests/tt/4445/2.html	(revision 4259)
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+	<title>Ticket: #4445</title>
+	<meta name="tags" content="editor,unit,all">
+	<script type="text/javascript" src="../../cktester/cell.js"></script>
+	<script>
+( function()
+{
+	var ts, tc, assert = CKEDITOR.test.assert, doc = CKEDITOR.document;
+	YAHOO.tool.TestRunner.add( ts = new CKEDITOR.test.suites.editorTestSuite(
+		{
+
+				editorName : 'test_editor',
+				config : { startupMode: 'source' },
+				name :document.title
+		} ) );
+
+	var contentToLoad = 'Load data in source mode';
+
+	ts.add( tc = new YAHOO.tool.TestCase(
+		{
+			/**
+			 * Test the editor is fully interactive in setData callback.
+			 */
+			test_setData_callback_source : function()
+			{
+				var editor = ts.editor;
+				editor.setData( contentToLoad, function()
+				{
+					tc.resume( function()
+					{
+						assert.isTrue( editor.checkDirty(), "editor shouldn be dirty." );
+						assert.areSame( contentToLoad, editor.getData(), "editor content doesn't match." );
+					} );
+				} );
+			}
+		} ) );
+} )();
+	</script>
+</head>
+<body>
+</body>
+</html>
