package net.jhorstmann.i18n.tools;
import java.io.File;
import java.io.IOException;
import org.fedorahosted.tennera.jgettext.HeaderFields;
import org.fedorahosted.tennera.jgettext.HeaderUtil;
import org.fedorahosted.tennera.jgettext.Message;
import org.junit.Assert;
import org.junit.Test;
public class MessageBundleTest {
@Test
public void testHeaderMessageInProperties() throws IOException {
MessageBundle bundle = MessageBundle.loadProperties(new File("src/test/resources/net/jhorstmann/i18n/tools/Header.properties"),
"net.jhorstmann.i18n.tools.Header", null);
Message header = bundle.getHeaderMessage();
Assert.assertNotNull(header);
Assert.assertEquals("", header.getMsgid());
Assert.assertNotNull(header.getMsgstr());
String pluralForms = bundle.getPluralForms();
Assert.assertNotNull(pluralForms);
}
@Test
public void testBundleWithHeaderMessage() {
MessageBundle bundle = new MessageBundle();
Message header = HeaderUtil.generateDefaultHeader();
bundle.addMessage(header);
Message tstHeader = bundle.getHeaderMessage();
Assert.assertNotNull(tstHeader);
}
@Test
public void testBundleWithHeaderFields() {
MessageBundle bundle = new MessageBundle();
Message header = HeaderUtil.generateDefaultHeader();
HeaderFields fields = HeaderFields.wrap(header);
fields.setValue(HeaderFields.KEY_ReportMsgidBugsTo, "a@b.com");
fields.unwrap(header);
bundle.addMessage(header);
Message tstHeader = bundle.getHeaderMessage();
Assert.assertNotNull(tstHeader);
fields = HeaderFields.wrap(header);
Assert.assertTrue("a@b.com".equals(fields.getValue(HeaderFields.KEY_ReportMsgidBugsTo)));
}
}