/*******************************************************************************
* Copyright (C) 2015 Obeo 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
*******************************************************************************/
package org.eclipse.egit.core.test;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.egit.core.Activator;
import org.eclipse.egit.core.GitCorePreferences;
import org.eclipse.jgit.merge.MergeStrategy;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class PreferredMergeStrategyTest {
private Activator a;
/**
* Removes any preference about preferred merge strategy before any test.
*/
@Before
public void setUp() {
a = Activator.getDefault();
InstanceScope.INSTANCE.getNode(Activator.getPluginId()).remove(
GitCorePreferences.core_preferredMergeStrategy);
}
/**
* Removes any preference about preferred merge strategy after any test.
*/
@After
public void tearDown() {
InstanceScope.INSTANCE.getNode(Activator.getPluginId()).remove(
GitCorePreferences.core_preferredMergeStrategy);
}
@Test
public void testGetDefaultPreferredMergeStrategy() {
assertNull(a.getPreferredMergeStrategy());
}
@Test
public void testGetPreferredMergeStrategyWhenNoPref() {
InstanceScope.INSTANCE.getNode(Activator.getPluginId()).remove(
GitCorePreferences.core_preferredMergeStrategy);
assertNull(a.getPreferredMergeStrategy());
}
@Test
public void testGetPreferredMergeStrategyWhenInvalidPreference() {
// Using "invalid value" simulates a property set to a merge strategy
// that's no longer registered
InstanceScope.INSTANCE.getNode(Activator.getPluginId())
.put(GitCorePreferences.core_preferredMergeStrategy,
"invalid value");
assertNull(a.getPreferredMergeStrategy());
}
@Test
public void testGetPreferredMergeStrategyWhenValidPreference() {
// Using "resolve" here because there's no need for more configuration
// in this test, it is a registered MergeStrategy
InstanceScope.INSTANCE.getNode(Activator.getPluginId()).put(
GitCorePreferences.core_preferredMergeStrategy, "resolve");
assertSame(MergeStrategy.RESOLVE, a.getPreferredMergeStrategy());
}
}