package org.dayatang.i18n.support; import org.dayatang.i18n.LocaleContextHolder; import org.dayatang.i18n.NoSuchMessageException; import org.junit.Test; import java.util.Locale; import static org.junit.Assert.assertEquals; public class ResourceBundleI18nServiceTest { I18nServiceAccessor messages = MyResourceBundleI18nService.getAccessor(); @Test public void getMessage() { messages = MyResourceBundleI18nService.getAccessor(); String msg = messages.getMessage("hi", "这是默认消息!", Locale.ENGLISH); assertEquals("hello", msg); msg = messages.getMessage("hi", "这是默认消息!", Locale.SIMPLIFIED_CHINESE); assertEquals("你好!", msg); msg = messages.getMessage("hi_", "这是默认消息!"); assertEquals("这是默认消息!", msg); } @Test(expected = NoSuchMessageException.class) public void getMessage_noSuchMessage() { messages.getMessage("abc"); } @Test public void getMessage_holder() { LocaleContextHolder.setLocale(Locale.ENGLISH); String msg = messages.getMessage("hi", "这是默认消息!"); assertEquals("hello", msg); LocaleContextHolder.setLocale(Locale.SIMPLIFIED_CHINESE); msg = messages.getMessage("hi", "这是默认消息!"); assertEquals("你好!", msg); // // LocaleContextHolder.setLocale(Locale.CHINESE); // msg = messages.getMessage("hi", "这是默认消息!"); // assertEquals("你好!", msg); LocaleContextHolder.resetLocale(); } }