package com.codeaffine.extras.imageviewer.internal; import static com.codeaffine.eclipse.core.runtime.Predicates.attribute; import org.junit.Test; import com.codeaffine.eclipse.core.runtime.Extension; import com.codeaffine.eclipse.core.runtime.RegistryAdapter; import com.codeaffine.eclipse.core.runtime.test.util.ExtensionAssert; public class ImageViewerEditorExtensionPDETest { @Test public void testEditorExtension() { Extension actual = readEditorsExtension(); ExtensionAssert.assertThat( actual ) .isInstantiable( "class", ImageViewerEditor.class ) .hasNoAttributeValueFor( "contributorClass" ) .hasAttributeValue( "icon", "$nl$/icons/eview16/image-viewer-editor.gif" ) .hasAttributeValue( "default", Boolean.TRUE.toString() ) .hasNonEmptyAttributeValueFor( "name" ) .hasNoAttributeValueFor( "matchingStrategy" ) .hasChildWithAttributeValue( "contentTypeId", ImageViewerPlugin.IMAGE_CONTENT_TYPE_ID ); } private static Extension readEditorsExtension() { return new RegistryAdapter() .readExtension( "org.eclipse.ui.editors" ) .thatMatches( attribute( "id", ImageViewerEditor.ID ) ) .process(); } }