create changelog entry
[debian/openrocket] / core / test / net / sf / openrocket / l10n / TestResourceBundleTranslator.java
1 package net.sf.openrocket.l10n;
2
3 import static org.junit.Assert.*;
4
5 import java.util.Locale;
6 import java.util.MissingResourceException;
7
8 import org.junit.After;
9 import org.junit.Before;
10 import org.junit.Test;
11
12 public class TestResourceBundleTranslator {
13         
14         private Locale originalDefaultLocale;
15         
16         @Before
17         public void setup() {
18                 // Default locale affects resource bundles, so set something non-English
19                 this.originalDefaultLocale = Locale.getDefault();
20                 Locale.setDefault(Locale.GERMAN);
21         }
22         
23         @After
24         public void teardown() {
25                 Locale.setDefault(originalDefaultLocale);
26         }
27         
28         
29         @Test
30         public void testSuccessfulDefault() {
31                 ResourceBundleTranslator trans = new ResourceBundleTranslator("l10n.messages");
32                 assertEquals("messages_de.properties", trans.get("debug.currentFile"));
33         }
34         
35         @Test
36         public void testSuccessfulNonDefault() {
37                 ResourceBundleTranslator trans = new ResourceBundleTranslator("l10n.messages", Locale.FRENCH);
38                 assertEquals("messages_fr.properties", trans.get("debug.currentFile"));
39         }
40         
41         @Test
42         public void testFailure() {
43                 ResourceBundleTranslator trans = new ResourceBundleTranslator("l10n.messages", Locale.US);
44                 try {
45                         fail("Returned: " + trans.get("missing"));
46                 } catch (MissingResourceException e) {
47                         // Expected
48                 }
49         }
50         
51         @Test
52         public void testGetEnglish() {
53                 ResourceBundleTranslator trans = new ResourceBundleTranslator("l10n.messages", Locale.FRENCH);
54                 assertEquals("Papier (bureau)", trans.get("material", "Paper (office)"));
55                 assertEquals("Paper (toilet)", trans.get("material", "Paper (toilet)"));
56         }
57         
58         
59         @Test
60         public void testGetBase() {
61                 ResourceBundleTranslator trans = new ResourceBundleTranslator("l10n.messages", Locale.FRENCH);
62                 assertEquals("Paper (office)", trans.getBaseText("material", "Papier (bureau)"));
63                 assertEquals("Papier (toilet)", trans.getBaseText("material", "Papier (toilet)"));
64         }
65         
66         
67 }