1   package com.atlassian.plugin.webresource;
2   
3   import junit.framework.TestCase;
4   
5   import java.util.HashMap;
6   import java.util.Map;
7   
8   public class TestCssWebResource extends TestCase
9   {
10      private CssWebResource cssWebResource;
11  
12      protected void setUp() throws Exception
13      {
14          super.setUp();
15          cssWebResource = new CssWebResource();
16      }
17  
18      protected void tearDown() throws Exception
19      {
20          cssWebResource = null;
21          super.tearDown();
22      }
23  
24      public void testMatches()
25      {
26          assertTrue(cssWebResource.matches("blah.css"));
27          assertFalse(cssWebResource.matches("blah.js"));
28      }
29  
30      public void testFormatResource()
31      {
32          final String url = "/confluence/download/resources/confluence.web.resources:master-styles/master.css";
33  
34          assertEquals("<link type=\"text/css\" rel=\"stylesheet\" href=\"" + url + "\" media=\"all\">\n",
35                      cssWebResource.formatResource(url, new HashMap()));
36      }
37  
38      public void testFormatResourceWithParameters()
39      {
40          final String url = "/confluence/download/resources/confluence.web.resources:master-styles/master.css";
41          HashMap params = new HashMap();
42          params.put("title", "Confluence Master CSS");
43          params.put("charset", "utf-8");
44          params.put("foo", "bar"); // test invalid parameter
45  
46          assertEquals("<link type=\"text/css\" rel=\"stylesheet\" href=\"" + url + "\" title=\"Confluence Master CSS\"" +
47                      " charset=\"utf-8\" media=\"all\">\n",
48                      cssWebResource.formatResource(url, params));
49      }
50  
51      public void testFormatIEResource()
52      {
53          final String url = "/confluence/download/resources/confluence.web.resources:master-styles/master-ie.css";
54  
55          Map params = new HashMap();
56          params.put("ieonly", "true");
57          params.put("media", "screen");
58          assertEquals("<!--[if IE]>\n" +
59                      "<link type=\"text/css\" rel=\"stylesheet\" href=\"" + url + "\" media=\"screen\">\n" +
60                      "<![endif]-->\n",
61                      cssWebResource.formatResource(url, params));
62      }
63  }