diff options
Diffstat (limited to 'build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java')
-rw-r--r-- | build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java | 236 |
1 files changed, 118 insertions, 118 deletions
diff --git a/build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java b/build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java index a03cf9f44ba..bcbc0ca0a03 100644 --- a/build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java +++ b/build/org.eclipse.cdt.make.ui.tests/src/org/eclipse/cdt/make/ui/tests/MakeUIImagesTest.java @@ -1,118 +1,118 @@ -/*******************************************************************************
- * Copyright (c) 2013, 2013 Andrew Gvozdev 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
- *
- * Contributors:
- * Andrew Gvozdev - initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.make.ui.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.net.URL;
-
-import org.eclipse.cdt.make.internal.ui.MakeUIImages;
-import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.swt.graphics.Image;
-import org.junit.Test;
-
-public class MakeUIImagesTest {
- private static final ImageDescriptor MISSING_IMAGE_DESCRIPTOR = ImageDescriptor.getMissingImageDescriptor();
-
- // sample image (IMG_ETOOL_MAKEFILE) from MakeUIPlugin bundle
- private static final String KEY_ETOOL_MAKEFILE = MakeUIImages.IMG_ETOOL_MAKEFILE;
- private static final IPath PATH_ETOOL_MAKEFILE = new Path("icons/etool16/makefile.gif");
- private static final URL URL_ETOOL_MAKEFILE= FileLocator.find(MakeUIPlugin.getDefault().getBundle(), PATH_ETOOL_MAKEFILE, null);
-
- /**
- * Handling of missing keys.
- */
- @Test
- public void testNoImage() throws Exception {
- ImageDescriptor descriptor = MakeUIImages.getImageDescriptor("missing key 1");
- assertSame(MISSING_IMAGE_DESCRIPTOR, descriptor);
-
- Image image1 = MakeUIImages.getImage("missing key 1");
- Image image2 = MakeUIImages.getImage("missing key 2");
- assertSame(image1, image2);
- }
-
- /**
- * Test regular images.
- */
- @Test
- public void testImage() throws Exception {
- // create descriptor from MakeUIImages key
- ImageDescriptor descriptorFromKey = MakeUIImages.getImageDescriptor(KEY_ETOOL_MAKEFILE);
- assertNotSame(MISSING_IMAGE_DESCRIPTOR, descriptorFromKey);
-
- // create descriptor from registered bundle URL as a key
- MakeUIImages.register(URL_ETOOL_MAKEFILE);
- ImageDescriptor descriptorFromUrl = MakeUIImages.getImageDescriptor(URL_ETOOL_MAKEFILE.toString());
- assertNotSame(MISSING_IMAGE_DESCRIPTOR, descriptorFromUrl);
- assertSame(descriptorFromKey, descriptorFromUrl);
-
- // verify that it is the same image
- Image imageFromKey = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE);
- Image imageFromUrl = MakeUIImages.getImage(URL_ETOOL_MAKEFILE.toString());
- assertSame(imageFromKey, imageFromUrl);
-
- // verify that no leaks on second access
- Image imageFromKey2 = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE);
- assertSame(imageFromKey, imageFromKey2);
- }
-
- /**
- * Test images with overlays.
- */
- @Test
- public void testOverlays() throws Exception {
- {
- Image image1 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, new String[5]);
- Image image2 = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE);
- assertSame(image1, image2);
- }
-
- {
- String[] overlayKeys = new String[5];
- overlayKeys[IDecoration.BOTTOM_LEFT] = MakeUIImages.IMG_OVR_AUTOMATIC;
- Image imageOver1 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, overlayKeys);
- Image imageOver2 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, MakeUIImages.IMG_OVR_AUTOMATIC, IDecoration.BOTTOM_LEFT);
- assertSame(imageOver1, imageOver2);
- }
- }
-
- /**
- * Verify that MakeUIImages constants define existing images.
- */
- @Test
- public void testVerifyFields() throws Exception {
- Class<MakeUIImages> clazz = MakeUIImages.class;
-
- Field[] fields = clazz.getDeclaredFields();
- for (Field field : fields) {
- String name = field.getName();
- if (name.startsWith("IMG_")) {
- assertEquals("MakeUIImages."+name+" is not a String", String.class, field.getType());
- assertTrue("MakeUIImages."+name+" is not a static field", (field.getModifiers() & Modifier.STATIC) != 0);
- assertTrue("MakeUIImages."+name+" is not a public field", (field.getModifiers() & Modifier.PUBLIC) != 0);
- String imageKey = (String) field.get(null);
- ImageDescriptor descriptor = MakeUIImages.getImageDescriptor(imageKey);
- assertTrue("Missing image MakeUIImages."+name+"=\""+imageKey+"\"", descriptor!=MISSING_IMAGE_DESCRIPTOR);
- }
- }
- }
-}
+/******************************************************************************* + * Copyright (c) 2013, 2013 Andrew Gvozdev 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 + * + * Contributors: + * Andrew Gvozdev - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.make.ui.tests; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.net.URL; + +import org.eclipse.cdt.make.internal.ui.MakeUIImages; +import org.eclipse.cdt.make.internal.ui.MakeUIPlugin; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.IDecoration; +import org.eclipse.swt.graphics.Image; +import org.junit.Test; + +public class MakeUIImagesTest { + private static final ImageDescriptor MISSING_IMAGE_DESCRIPTOR = ImageDescriptor.getMissingImageDescriptor(); + + // sample image (IMG_ETOOL_MAKEFILE) from MakeUIPlugin bundle + private static final String KEY_ETOOL_MAKEFILE = MakeUIImages.IMG_ETOOL_MAKEFILE; + private static final IPath PATH_ETOOL_MAKEFILE = new Path("icons/etool16/makefile.gif"); + private static final URL URL_ETOOL_MAKEFILE= FileLocator.find(MakeUIPlugin.getDefault().getBundle(), PATH_ETOOL_MAKEFILE, null); + + /** + * Handling of missing keys. + */ + @Test + public void testNoImage() throws Exception { + ImageDescriptor descriptor = MakeUIImages.getImageDescriptor("missing key 1"); + assertSame(MISSING_IMAGE_DESCRIPTOR, descriptor); + + Image image1 = MakeUIImages.getImage("missing key 1"); + Image image2 = MakeUIImages.getImage("missing key 2"); + assertSame(image1, image2); + } + + /** + * Test regular images. + */ + @Test + public void testImage() throws Exception { + // create descriptor from MakeUIImages key + ImageDescriptor descriptorFromKey = MakeUIImages.getImageDescriptor(KEY_ETOOL_MAKEFILE); + assertNotSame(MISSING_IMAGE_DESCRIPTOR, descriptorFromKey); + + // create descriptor from registered bundle URL as a key + MakeUIImages.register(URL_ETOOL_MAKEFILE); + ImageDescriptor descriptorFromUrl = MakeUIImages.getImageDescriptor(URL_ETOOL_MAKEFILE.toString()); + assertNotSame(MISSING_IMAGE_DESCRIPTOR, descriptorFromUrl); + assertSame(descriptorFromKey, descriptorFromUrl); + + // verify that it is the same image + Image imageFromKey = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE); + Image imageFromUrl = MakeUIImages.getImage(URL_ETOOL_MAKEFILE.toString()); + assertSame(imageFromKey, imageFromUrl); + + // verify that no leaks on second access + Image imageFromKey2 = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE); + assertSame(imageFromKey, imageFromKey2); + } + + /** + * Test images with overlays. + */ + @Test + public void testOverlays() throws Exception { + { + Image image1 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, new String[5]); + Image image2 = MakeUIImages.getImage(KEY_ETOOL_MAKEFILE); + assertSame(image1, image2); + } + + { + String[] overlayKeys = new String[5]; + overlayKeys[IDecoration.BOTTOM_LEFT] = MakeUIImages.IMG_OVR_AUTOMATIC; + Image imageOver1 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, overlayKeys); + Image imageOver2 = MakeUIImages.getImageOverlaid(KEY_ETOOL_MAKEFILE, MakeUIImages.IMG_OVR_AUTOMATIC, IDecoration.BOTTOM_LEFT); + assertSame(imageOver1, imageOver2); + } + } + + /** + * Verify that MakeUIImages constants define existing images. + */ + @Test + public void testVerifyFields() throws Exception { + Class<MakeUIImages> clazz = MakeUIImages.class; + + Field[] fields = clazz.getDeclaredFields(); + for (Field field : fields) { + String name = field.getName(); + if (name.startsWith("IMG_")) { + assertEquals("MakeUIImages."+name+" is not a String", String.class, field.getType()); + assertTrue("MakeUIImages."+name+" is not a static field", (field.getModifiers() & Modifier.STATIC) != 0); + assertTrue("MakeUIImages."+name+" is not a public field", (field.getModifiers() & Modifier.PUBLIC) != 0); + String imageKey = (String) field.get(null); + ImageDescriptor descriptor = MakeUIImages.getImageDescriptor(imageKey); + assertTrue("Missing image MakeUIImages."+name+"=\""+imageKey+"\"", descriptor!=MISSING_IMAGE_DESCRIPTOR); + } + } + } +} |