/******************************************************************************* * Copyright (c) 2010, 2015 Oakland Software Incorporated and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Oakland Software Incorporated - initial API and implementation * Thibault Le Ouay <thibaultleouay@gmail.com> - Bug 457870 *******************************************************************************/ package org.eclipse.ui.tests.navigator; import static org.junit.Assert.assertEquals; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.IDE; import org.eclipse.ui.tests.harness.util.DisplayHelper; import org.eclipse.ui.tests.navigator.extension.TestLinkHelper; import org.junit.Test; public class LinkHelperTest extends NavigatorTestBase { private static final int SLEEP_TIME = 800; private static final boolean SLEEP_LONG = false; public LinkHelperTest() { _navigatorInstanceId = TEST_VIEWER_LINK_HELPER; } @Test public void testLinkHelperSelectionChange() throws Exception { System.out.println("SelectionChange start"); IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); IDE.openEditor(activePage, _p2.getFile("file1.txt")); IDE.openEditor(activePage, _p2.getFile("file2.txt")); _commonNavigator.setLinkingEnabled(true); _viewer.setSelection(new StructuredSelection(_p2.getFile("file1.txt"))); //$NON-NLS-1$ DisplayHelper.sleep(SLEEP_TIME); _commonNavigator.getViewSite().getPage().activate(_commonNavigator); System.out.println("before set 2"); _viewer.setSelection(new StructuredSelection(_p2.getFile("file2.txt"))); //$NON-NLS-1$ DisplayHelper.sleep(SLEEP_TIME); activePage.activate(_commonNavigator); TestLinkHelper.instance.resetTest(); System.out.println("before set 3"); _viewer.setSelection(new StructuredSelection(_p2.getFile("file1.txt"))); //$NON-NLS-1$ DisplayHelper.sleep(SLEEP_TIME); System.out.println("SelectionChange Done: " + TestLinkHelper.instance); assertEquals(0, TestLinkHelper.instance.findSelectionCount); assertEquals(1, TestLinkHelper.instance.activateEditorCount); if (SLEEP_LONG) DisplayHelper.sleep(100000000); } @Test public void testLinkHelperEditorActivation() throws Exception { System.out.println("EditorActivation start"); _commonNavigator.setLinkingEnabled(false); DisplayHelper.sleep(SLEEP_TIME); IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); IEditorPart file1Editor = IDE.openEditor(activePage, _p2.getFile("file1.txt")); IEditorPart file2Editor = IDE.openEditor(activePage, _p2.getFile("file2.txt")); _commonNavigator.setLinkingEnabled(true); DisplayHelper.sleep(SLEEP_TIME); TestLinkHelper.instance.resetTest(); System.out.println("before activate 1"); activePage.activate(file1Editor); DisplayHelper.sleep(SLEEP_TIME); System.out.println("EditorActivation 1 Done: " + TestLinkHelper.instance); assertEquals(1, TestLinkHelper.instance.findSelectionCount); assertEquals(0, TestLinkHelper.instance.activateEditorCount); TestLinkHelper.instance.resetTest(); System.out.println("before activate 2"); activePage.activate(file2Editor); DisplayHelper.sleep(SLEEP_TIME); System.out.println("EditorActivation 2 Done: " + TestLinkHelper.instance); assertEquals(1, TestLinkHelper.instance.findSelectionCount); assertEquals(0, TestLinkHelper.instance.activateEditorCount); } }