}
public void testGetResource() throws Exception {
try {
// test retrieval
DataResource r1 = (DataResource) mManager.getResource(TEST_CONTEXT_NAME + "myDataKey");
Assert.assertEquals(TEST_DATA_FILE.toURL(), r1.getUrl());
TestResourceInterface r2 = (TestResourceInterface) mManager.getResource(TEST_CONTEXT_NAME
+ "myCustomObjectKey");
Assert.assertEquals(TEST_STRING, r2.readString());
DataResource en_r = (DataResource) mManager.getResource(TEST_CONTEXT_NAME
+ "myLanguageResourceKey", new String[] { "en" });
Assert.assertTrue(en_r.getUrl().toString().endsWith(
"FileLanguageResource_implTest_data_en.dat"));
DataResource de_r = (DataResource) mManager.getResource(TEST_CONTEXT_NAME
+ "myLanguageResourceKey", new String[] { "de" });
Assert.assertTrue(de_r.getUrl().toString().endsWith(
"FileLanguageResource_implTest_data_de.dat"));
// this should get the exact same DataResource object as for the "en" param
DataResource enus_r = (DataResource) mManager.getResource(TEST_CONTEXT_NAME
+ "myLanguageResourceKey", new String[] { "en-US" });
Assert.assertTrue(en_r == enus_r);
TestResourceInterface en_obj = (TestResourceInterface) mManager.getResource(TEST_CONTEXT_NAME
+ "myLanguageResourceObjectKey", new String[] { "en" });
Assert.assertEquals("English", en_obj.readString());
// test spaces in datapath
DataResource r3 = (DataResource) mManager.getResource(TEST_CONTEXT_NAME
+ "myResourceWithSpaceInPathKey");
URL expectedBaseUrl = new File(TEST_DATAPATH_WITH_SPACES).toURL();
URL expectedUrl = new URL(expectedBaseUrl, TEST_FILE_IN_DATAPATH);
Assert.assertEquals(expectedUrl, r3.getUrl());
URI expectedBaseUri = new File(TEST_DATAPATH_WITH_SPACES).toURI();
URI expectedUri = expectedBaseUri.resolve("Test.dat");
Assert.assertEquals(expectedUri, r3.getUri());
} catch (Exception e) {
JUnitExtension.handleException(e);
}
}