blob: 4c7afc93a4dce3ca08e022343fd14764835b824b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2019 Julian Honnen
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Julian Honnen <julian.honnen@vector.com> - initial API and implementation
*******************************************************************************/
package org.eclipse.text.quicksearch.tests;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.text.quicksearch.internal.core.priority.DefaultPriorityFunction;
import org.eclipse.text.quicksearch.internal.core.priority.PriorityFunction;
import org.eclipse.text.quicksearch.internal.ui.QuickSearchActivator;
import org.junit.Before;
import org.junit.Test;
public class DefaultPriorityFunctionTest {
private DefaultPriorityFunction fPriorityFunction;
@Before
public void setup() {
fPriorityFunction = new DefaultPriorityFunction();
fPriorityFunction.configure(QuickSearchActivator.getDefault().getPreferences());
}
@Test
public void testIgnoreLinkedContainers() throws Exception {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject p1 = root.getProject("p1");
p1.create(null);
p1.open(null);
IProject p2 = root.getProject("p2");
p2.create(null);
p2.open(null);
IFolder f1 = p1.getFolder("f1");
f1.create(true, true, null);
IFolder linkedp1 = p2.getFolder("p1");
linkedp1.createLink(p1.getLocationURI(), 0, null);
IFolder linkedF1 = p2.getFolder("f1");
linkedF1.createLink(f1.getLocationURI(), 0, null);
assertEquals(PriorityFunction.PRIORITY_IGNORE, fPriorityFunction.priority(linkedp1), 1.0);
assertNotEquals(PriorityFunction.PRIORITY_IGNORE, fPriorityFunction.priority(p1), 1.0);
assertEquals(PriorityFunction.PRIORITY_IGNORE, fPriorityFunction.priority(linkedF1), 1.0);
assertNotEquals(PriorityFunction.PRIORITY_IGNORE, fPriorityFunction.priority(f1), 1.0);
}
@Test
public void testDoNotIgnoreVirtualFolder() throws Exception {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject p3 = root.getProject("p3");
p3.create(null);
p3.open(null);
IFolder f2 = p3.getFolder("f2");
f2.create(IResource.VIRTUAL, true, null);
assertNotEquals(PriorityFunction.PRIORITY_IGNORE, fPriorityFunction.priority(f2), 1.0);
}
}