Bug 544675 - org.eclipse.ui.tests: TextHandlerTest.testEditableText
fails on mac

The test failed with assertion that the paste action was enabled, where
it couldn't happen because the clipboard should not contain any text,
only uri content type.

Added an additional check to see if the test also fails on Mac if we
have *nothing at all* in the clipboard.

Change-Id: I992f4772b1c4a97aae38333058d58fa0cc7a3a42
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextHandlerTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextHandlerTest.java
index ed07a05..070d0ac 100644
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextHandlerTest.java
+++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextHandlerTest.java
@@ -35,13 +35,24 @@
 		IWorkbenchWindow window = openTestWindow();
 		TextControlView view = (TextControlView) window.getActivePage()
 				.showView(TextControlView.ID);
-
+		view.editableText.setFocus();
 		Clipboard clipboard = new Clipboard(window.getWorkbench().getDisplay());
 		try {
+			clipboard.clearContents();
+			processEvents();
+			view.updateEnabledState();
+			processEvents();
+
+			assertFalse(view.getCopyAction().isEnabled());
+			assertFalse(view.getCutAction().isEnabled());
+			assertFalse(view.getPasteAction().isEnabled());
+			assertFalse(view.getSelectAllAction().isEnabled());
+
 			clipboard.setContents(new Object[] { "http://www.google.ca" },
 					new Transfer[] { URLTransfer.getInstance() });
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
 
 			assertFalse(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());
@@ -51,6 +62,8 @@
 			view.editableText.setText("Hello");
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
+
 			assertFalse(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());
 			assertFalse(view.getPasteAction().isEnabled());
@@ -59,6 +72,8 @@
 			view.editableText.setSelection(0, 3);
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
+
 			assertTrue(view.getCopyAction().isEnabled());
 			assertTrue(view.getCutAction().isEnabled());
 			assertFalse(view.getPasteAction().isEnabled());
@@ -68,6 +83,7 @@
 					new Transfer[] { TextTransfer.getInstance() });
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
 
 			assertTrue(view.getCopyAction().isEnabled());
 			assertTrue(view.getCutAction().isEnabled());
@@ -94,6 +110,7 @@
 			view.nonEditableText.setFocus();
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
 
 			assertFalse(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());
@@ -103,6 +120,8 @@
 			view.nonEditableText.setText("Hello");
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
+
 			assertFalse(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());
 			assertFalse(view.getPasteAction().isEnabled());
@@ -111,6 +130,8 @@
 			view.nonEditableText.setSelection(0, 3);
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
+
 			assertTrue(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());
 			assertFalse(view.getPasteAction().isEnabled());
@@ -120,6 +141,7 @@
 					new Transfer[] { TextTransfer.getInstance() });
 			processEvents();
 			view.updateEnabledState();
+			processEvents();
 
 			assertTrue(view.getCopyAction().isEnabled());
 			assertFalse(view.getCutAction().isEnabled());