package restx.i18n; import com.google.common.io.Files; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.util.Locale; import static org.assertj.core.api.Assertions.assertThat; /** * Date: 25/1/14 * Time: 15:55 */ public class DefaultMutableMessagesTest { @Rule public TemporaryFolder folder = new TemporaryFolder(); @Test public void should_update_bundle() throws Exception { final File file = folder.newFile(); Files.copy(new File("src/test/resources/restx/i18n/test.properties"), file); DefaultMutableMessages m = new DefaultMutableMessages("restx.i18n.mtest") { @Override protected URL getResource(String resourceName) { try { return file.toURI().toURL(); } catch (MalformedURLException e) { throw new RuntimeException(e); } } }; assertThat(m.getMessage("key1", Locale.ENGLISH)).isEqualTo("Hello!"); m.setMessageTemplate("key1", "Greetings!", Locale.ENGLISH); assertThat(m.getMessage("key1", Locale.ENGLISH)).isEqualTo("Greetings!"); assertThat(file).hasContent("key1=Greetings!\nkey2=Hello {{who}}!"); } }