1 package org.displaytag.jsptests; 2 3 import org.apache.commons.lang.StringUtils; 4 import org.displaytag.decorator.DateColumnDecorator; 5 import org.displaytag.properties.MediaTypeEnum; 6 import org.displaytag.tags.TableTagParameters; 7 import org.displaytag.test.DisplaytagCase; 8 import org.displaytag.test.KnownTypes; 9 import org.displaytag.util.ParamEncoder; 10 11 import com.meterware.httpunit.GetMethodWebRequest; 12 import com.meterware.httpunit.WebRequest; 13 import com.meterware.httpunit.WebResponse; 14 15 16 /** 17 * Tests for column decorators. 18 * @author Fabrizio Giustina 19 * @version $Revision: 912 $ ($Author: fgiust $) 20 */ 21 public class ExportDecoratedTest extends DisplaytagCase 22 { 23 24 /** 25 * @see org.displaytag.test.DisplaytagCase#getJspName() 26 */ 27 public String getJspName() 28 { 29 return "columndecorator.jsp"; 30 } 31 32 /** 33 * Export should not be decorated. 34 * @param jspName jsp name, with full path 35 * @throws Exception any axception thrown during test. 36 */ 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, "" + MediaTypeEnum.XML.getCode()); 44 45 WebResponse response = runner.getResponse(request); 46 if (log.isDebugEnabled()) 47 { 48 log.debug(response.getText()); 49 } 50 51 assertEquals("Expected a different content type.", "text/xml", response.getContentType()); 52 assertFalse("Export should not be decorated", StringUtils.contains( 53 response.getText(), 54 (String) new DateColumnDecorator().decorate(KnownTypes.TIME_VALUE, null, null))); 55 assertTrue("Export should not be decorated", StringUtils.contains(response.getText(), KnownTypes.TIME_VALUE 56 .toString())); 57 } 58 }