1 package org.itracker.core.resources;
2
3 import org.itracker.model.Language;
4 import org.itracker.services.AbstractServicesIntegrationTest;
5 import org.junit.Before;
6 import org.junit.Test;
7
8 import java.util.*;
9
10 import static org.itracker.Assert.*;
11
12 public class ItrackerResourceBundleIT extends AbstractServicesIntegrationTest {
13 private ITrackerResourceBundle resourceBundle;
14
15 @Before
16 public void setup() {
17 resourceBundle = (ITrackerResourceBundle)ITrackerResourceBundle.getBundle(Locale.ENGLISH);
18 assertNotNull(resourceBundle);
19
20 resourceBundle.removeValue("itracker.web.attr.admin", false);
21 }
22
23
24 @Test
25 public void testValue() {
26 resourceBundle.updateValue("itracker.web.attr.admin", "root");
27 assertEquals("root", resourceBundle.getString("itracker.web.attr.admin"));
28 Language language = new Language();
29 language.setLocale("en");
30 language.setResourceKey("itracker.web.attr.administer");
31 language.setResourceValue("administer");
32 resourceBundle.updateValue(language.getResourceKey(), language.getResourceValue());
33 assertEquals("administer", resourceBundle.getString("itracker.web.attr.administer"));
34 }
35
36 @Test
37 public void testGetLocale() {
38 assertEquals("Locale.ENGLISH", Locale.ENGLISH, resourceBundle.getLocale());
39 }
40
41 @Test
42 public void testDirty() {
43 assertFalse(resourceBundle.isDirty("itracker.web.attr.admin"));
44 resourceBundle.removeValue("itracker.web.attr.admin", true);
45 assertTrue(resourceBundle.isDirty("itracker.web.attr.admin"));
46 resourceBundle.removeValue("itracker.web.attr.admin", false);
47 assertFalse(resourceBundle.isDirty("itracker.web.attr.admin"));
48
49 assertNotNull(resourceBundle.getString("itracker.web.attr.admin"));
50 assertEquals("itracker.web.attr.admin", ResourceBundle.getBundle(ITrackerResources.RESOURCE_BUNDLE_NAME, resourceBundle.getLocale()).getString("itracker.web.attr.admin"),
51 resourceBundle.getString("itracker.web.attr.admin"));
52
53 }
54
55 @Test
56 public void testGetKeys() {
57 Enumeration<String> keys = resourceBundle.getKeys();
58 assertNotNull(keys);
59 Set<String> keySet = new HashSet<>();
60 keySet.add("itracker.web.attr.admin");
61 keySet.add("itracker.web.attr.administer");
62
63 Set<String> resultKeySet = new HashSet<>();
64 while (keys.hasMoreElements()) {
65 resultKeySet.add(keys.nextElement());
66 }
67 assertTrue("keys are contained", resultKeySet.containsAll(keySet));
68 }
69
70 @Override
71 protected String[] getDataSetFiles() {
72 return new String[]{};
73 }
74
75 }
76
77