1 package org.displaytag.jsptests; 2 3 import org.apache.log4j.Level; 4 import org.apache.log4j.Logger; 5 import org.displaytag.properties.MediaTypeEnum; 6 import org.displaytag.tags.TableTag; 7 import org.displaytag.tags.TableTagParameters; 8 import org.displaytag.tags.el.ELTableTag; 9 import org.displaytag.test.DisplaytagCase; 10 import org.displaytag.util.ParamEncoder; 11 12 import com.meterware.httpunit.GetMethodWebRequest; 13 import com.meterware.httpunit.HttpInternalErrorException; 14 import com.meterware.httpunit.WebRequest; 15 import com.meterware.httpunit.WebResponse; 16 17 18 23 public class FilterTest extends DisplaytagCase 24 { 25 26 29 public String getJspName() 30 { 31 return "filter.jsp"; 32 } 33 34 37 public void doTest(String jspName) throws Exception 38 { 39 ParamEncoder encoder = new ParamEncoder("table"); 40 String mediaParameter = encoder.encodeParameterName(TableTagParameters.PARAMETER_EXPORTTYPE); 41 42 WebRequest request = new GetMethodWebRequest(jspName); 43 request.setParameter(mediaParameter, Integer.toString(MediaTypeEnum.XML.getCode())); 44 45 Level previousLevel = Logger.getLogger(TableTag.class).getLevel(); 47 Level previousLevelEL = Logger.getLogger(ELTableTag.class).getLevel(); 48 49 try 50 { 51 Logger.getLogger(TableTag.class).setLevel(Level.OFF); 53 Logger.getLogger(ELTableTag.class).setLevel(Level.OFF); 54 55 runner.getResponse(request); 57 fail("Request works also without a filter. Can't test it properly."); 58 } 59 catch (HttpInternalErrorException e) 60 { 61 } 63 64 Logger.getLogger(TableTag.class).setLevel(previousLevel); 66 Logger.getLogger(ELTableTag.class).setLevel(previousLevelEL); 67 68 request = new GetMethodWebRequest(jspName); 69 request.setParameter(mediaParameter, Integer.toString(MediaTypeEnum.XML.getCode())); 70 71 request.setParameter(TableTagParameters.PARAMETER_EXPORTING, "1"); 73 74 WebResponse response = runner.getResponse(request); 75 76 assertEquals("Expected a different content type.", "text/xml", response.getContentType()); 77 } 78 79 } | Popular Tags |