blob: aac9cfcac2c801b580187fafcdff3d320aa80785 [file] [log] [blame]
/*******************************************************************************
* 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);
}
}