/* * dnssecjava - a DNSSEC validating stub resolver for Java * Copyright (c) 2013-2015 Ingo Bauersachs * * 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 */ package org.jitsi.dnssec; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import java.util.ResourceBundle; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyString; import static org.powermock.api.mockito.PowerMockito.mock; import static org.powermock.api.mockito.PowerMockito.when; @RunWith(PowerMockRunner.class) @PrepareForTest(R.class) public class RTest { @Test public void testCustomResourceBundle() { ResourceBundle rb = mock(ResourceBundle.class); when(rb.getString(anyString())).then(new Answer<String>() { @Override public String answer(InvocationOnMock invocation) throws Throwable { return (String)invocation.getArguments()[0]; } }); R.setUseNeutralMessages(false); R.setBundle(rb); assertEquals("key", R.get("key")); assertEquals("msg 1", R.get("msg {0}", 1)); } @Test public void testExplicitNullBundle() { R.setUseNeutralMessages(true); assertEquals("key", R.get("key")); assertEquals("key:1", R.get("key", 1)); } @Test public void testNormal() { R.setUseNeutralMessages(false); R.setBundle(null); assertEquals("no parameters", R.get("test.noparam")); assertEquals("parameter: abc", R.get("test.withparam", "abc")); } @Test public void testMissingResource() { R.setUseNeutralMessages(false); R.setBundle(null); assertEquals("test.notthere.noparam", R.get("test.notthere.noparam")); assertEquals("test.notthere.withparam:abc", R.get("test.notthere.withparam", "abc")); assertEquals("test.notthere.withparam:abc:null:1", R.get("test.notthere.withparam", "abc", null, 1)); } }