/* * Copyright (c) 2009 Netcetera AG 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: * - Netcetera AG: initial implementation */ package ch.netcetera.eclipse.common.plugin; import java.util.Locale; import java.util.ResourceBundle; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; /** * Tests the text resource handling of the {@link AbstractTextAccessorUIPlugin}. */ public class AbstractTextAccessorUIPluginTest { /** * Test implementation that allows to inject the resource bundle */ private static class TextAccessorUIPlugin extends AbstractTextAccessorUIPlugin { private final ResourceBundle resourceBundle; TextAccessorUIPlugin(ResourceBundle resourceBundle) { this.resourceBundle = resourceBundle; } /** {@inheritDoc} */ @Override public ResourceBundle getResourceBundle() { return this.resourceBundle; } } private static final String RESOURCE_BUNDLE_NAME = "ch.netcetera.eclipse.common.plugin.messages"; private TextAccessorUIPlugin plugin; /** * Set up the test fixture. */ @Before public void setUpPlugin() { ResourceBundle resourceBundle = ResourceBundle.getBundle(RESOURCE_BUNDLE_NAME, Locale.ENGLISH); this.plugin = new TextAccessorUIPlugin(resourceBundle); } /** * Tests {@link AbstractTextAccessorUIPlugin#getText(String)} and * {@link AbstractTextAccessorUIPlugin#getText(String, Object[])} with a * missing resource bundle. */ @Test public void testGetTextNullResourceBundle() { TextAccessorUIPlugin plugin = new TextAccessorUIPlugin(null); assertEquals("missing resource bundle", plugin.getText("foo")); assertEquals("missing resource bundle", plugin.getText("foo", new String[]{"bar"})); } /** * Tests {@link AbstractTextAccessorUIPlugin#getText(String)}. */ @Test public void testGetText() { assertEquals("bar", this.plugin.getText("foo")); } /** * Tests {@link AbstractTextAccessorUIPlugin#getText(String)}. */ @Test public void testGetTextMissing() { assertEquals("missing resource=missing", this.plugin.getText("missing")); } /** * Tests {@link AbstractTextAccessorUIPlugin#getText(String, Object[])}. */ @Test public void testGetTextMsgFormat() { assertEquals("values: one two", this.plugin.getText("msgformat", new String[]{"one", "two"})); } }