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 ); } }