1 package com.atlassian.plugin.webresource;
2
3 import junit.framework.TestCase;
4
5 public class TestPluginResource extends TestCase
6 {
7 public void testParseWithSimpleName() throws Exception
8 {
9 SinglePluginResource resource = SinglePluginResource.parse("/download/resources/test.plugin.key:module/mydownload.jpg");
10 assertEquals("test.plugin.key:module", resource.getModuleCompleteKey());
11 assertEquals("mydownload.jpg", resource.getResourceName());
12 }
13
14 public void testParseWithSlashesInName() throws Exception
15 {
16 SinglePluginResource resource = SinglePluginResource.parse("/download/resources/test.plugin.key:module/path/to/mydownload.jpg");
17 assertEquals("test.plugin.key:module", resource.getModuleCompleteKey());
18 assertEquals("path/to/mydownload.jpg", resource.getResourceName());
19 }
20
21 public void testGetUrl() throws Exception
22 {
23 SinglePluginResource resource = new SinglePluginResource("foo.css", "test.plugin.key", false);
24 assertEquals("/download/resources/test.plugin.key/foo.css", resource.getUrl());
25 }
26
27 public void testRoundTrip() throws Exception
28 {
29 SinglePluginResource resource = new SinglePluginResource("foo.css", "test.plugin.key", false);
30 String url = resource.getUrl();
31 SinglePluginResource parsedResource = SinglePluginResource.parse(url);
32 assertEquals(resource.getModuleCompleteKey(), parsedResource.getModuleCompleteKey());
33 assertEquals(resource.getResourceName(), parsedResource.getResourceName());
34 }
35
36 public void testParseInvlaidUrlThrowsException()
37 {
38 try
39 {
40 SinglePluginResource.parse("/download/resources/blah.png");
41 fail("Should have thrown exception for invalid url");
42 }
43 catch (UrlParseException e)
44 {
45
46 }
47 }
48 }