package com.codeaffine.extras.imageviewer.internal;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Collection;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.ide.IDE;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
@RunWith( value = Parameterized.class )
public class ContentTypeExtensionPDETest {
@Parameters(name = "{0}")
public static Collection<Object[]> parameters() {
return asList(
new Object[] { "gif" },
new Object[] { "jpg" },
new Object[] { "jpeg" },
new Object[] { "png" },
new Object[] { "bmp" },
new Object[] { "ico" },
new Object[] { "tiff" }
);
}
@Parameter
public String fileExtension;
private String fileName;
@Before
public void setUp() {
fileName = "image." + fileExtension;
}
@Test
public void testContentTypes() {
IContentType contentType = Platform.getContentTypeManager().findContentTypeFor( fileName );
assertThat( contentType.getId() ).isEqualTo( ImageViewerPlugin.IMAGE_CONTENT_TYPE_ID );
}
@SuppressWarnings("deprecation")
@Test
public void testDefaultEditorBinding() throws Exception {
IEditorDescriptor editorDescriptor = IDE.getEditorDescriptor( fileName, true );
assertThat( editorDescriptor.getId() ).isEqualTo( ImageViewerEditor.ID );
}
}