@Before public void setUp() { ComponentsTestUtil.setImplementation(SystemContext.class, MockContext.class); final DefaultMessagesManager defaultMessagesManager = new DefaultMessagesManager(mock(Node2BeanProcessor.class), MockUtil.getSystemMockContext()); ComponentsTestUtil.setInstance(MessagesManager.class, defaultMessagesManager); }
/** * These are the i18n settings common to all tests. * <ul> * <li>locale in context is German * <li>fall back system locale is English * <li>default basename is the one defined by {@link info.magnolia.cms.i18n.MessagesManager#DEFAULT_BASENAME} * </ul> */ @Before public void setUp() throws Exception { ComponentsTestUtil.setImplementation(SystemContext.class, MockContext.class); final DefaultMessagesManager defaultMessagesManager = new DefaultMessagesManager(null, MockUtil.getSystemMockContext()); defaultMessagesManager.setDefaultLocale(FALLBACK.toString()); ComponentsTestUtil.setInstance(MessagesManager.class, defaultMessagesManager); MagnoliaConfigurationProperties configurationProperties = mock(MagnoliaConfigurationProperties.class); when(configurationProperties.getProperty(FileSystemResourceOrigin.RESOURCES_DIR_PROPERTY)).thenReturn(this.getClass().getResource("/").getPath()); ResourceOrigin resourceOrigin = new DummyResourceOrigin(foo, defaultReader(), defaultStreamLoader(), withFolderPaths( "/moduleName/i18n/messages_de_CH.properties", "/moduleName/i18n/messages_de_CH_basel.properties", "/moduleName/i18n/messages_de.properties", "/moduleName/i18n/messages_fr.properties", "/moduleName/i18n/messages.properties" )); translationService = new DummyTranslationService(i18nModule, new DefaultMessageBundlesLoader(resourceOrigin)); userLocaleProvider = newFixedLocaleProvider(USERLOCALE); }
@Before public void setUp() throws Exception { ComponentsTestUtil.setImplementation(SystemContext.class, MockContext.class); final DefaultMessagesManager defaultMessagesManager = new DefaultMessagesManager(null, MockUtil.getSystemMockContext()); defaultMessagesManager.setDefaultLocale(Locale.ENGLISH.toString()); ComponentsTestUtil.setInstance(MessagesManager.class, defaultMessagesManager); final DummyResourceOrigin resourceOrigin = new DummyResourceOrigin(foo, defaultReader(), defaultStreamLoader(), withFolderPaths( "/moduleName/i18n/messages_de_CH.properties", "/moduleName/i18n/messages_de_CH_basel.properties", "/moduleName/i18n/messages_de.properties", "/moduleName/i18n/messages_fr.properties", "/moduleName/i18n/messages.properties" )); messagesLoader = new DefaultMessageBundlesLoader(resourceOrigin); }
@Test public void debugOldI18n() throws Exception { //GIVEN i18nModule.setDebug(true); final String[] keys = new String[] { "more.specific.key", "specific.key", "key" }; final MessagesManager messagesManager = new DefaultMessagesManager(null, MockUtil.getSystemMockContext()) { @Override public Messages getMessagesInternal(String basename, Locale locale) { Messages messages = mock(Messages.class); when(messages.get(anyString())).thenReturn("Some legacy i18n translation"); return messages; } }; ComponentsTestUtil.setInstance(MessagesManager.class, messagesManager); // WHEN String message = translationService.translate(newFixedLocaleProvider(USERLOCALE), LEGACY_BUNDLE, keys); // THEN assertEquals("Some legacy i18n translation\n[>more.specific.key<, specific.key, key]Locale:de,Using legacy i18n basename:info.magnolia.i18nsystem.legacy", message); }