/*******************************************************************************
* Copyright (c) 2013, 2015 IBM Corporation 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:
* IBM Corporation - initial API and implementation
* Thibault Le Ouay <thibaultleouay@gmail.com> - Bug 443094
*******************************************************************************/
package org.eclipse.e4.ui.css.core.resources;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import org.eclipse.e4.ui.css.core.dom.properties.css2.CSS2FontProperties;
import org.eclipse.e4.ui.css.swt.helpers.CSSSWTHelperTestCase;
import org.eclipse.e4.ui.css.swt.resources.ResourceByDefinitionKey;
import org.eclipse.e4.ui.css.swt.resources.SWTResourceRegistryKeyFactory;
import org.junit.Test;
import org.w3c.dom.css.CSSPrimitiveValue;
public class SWTResourceRegistryKeyFactoryTest extends CSSSWTHelperTestCase {
private SWTResourceRegistryKeyFactory factory = new SWTResourceRegistryKeyFactory();
@Test
public void testCreateKeyWhenFontProperty() {
CSS2FontProperties fontProperties = null;
fontProperties = fontProperties("Arial", 12, CSS_ITALIC, CSS_BOLD);
Object result = factory.createKey(fontProperties);
assertEquals(String.class, result.getClass());
assertEquals(CSSResourcesHelpers.getCSSValueKey(fontProperties), result);
}
@Test
public void testCreateKeyWhenColorValue() {
CSSPrimitiveValue colorValue = colorValue("red");
Object result = factory.createKey(colorValue);
assertEquals(String.class, result.getClass());
assertEquals(CSSResourcesHelpers.getCSSValueKey(colorValue), result);
}
@Test
public void testCreateKeyWhenFontByDefinition() {
CSS2FontProperties fontProperties = null;
try {
fontProperties = fontProperties("#font-by-definition", 12, CSS_ITALIC, CSS_BOLD);
} catch (Exception e) {
fail("FontProperties should not throw exception");
}
Object result = factory.createKey(fontProperties);
assertEquals(ResourceByDefinitionKey.class, result.getClass());
assertEquals(CSSResourcesHelpers.getCSSValueKey(fontProperties).toString(), result.toString());
}
@Test
public void testCreateKeyWhenColorByDefinition() {
CSSPrimitiveValue colorValue = colorValue("#color-by-definition");
Object result = factory.createKey(colorValue);
assertEquals(ResourceByDefinitionKey.class, result.getClass());
assertEquals(CSSResourcesHelpers.getCSSValueKey(colorValue).toString(),
result.toString());
}
}