Home » displaytag-1.1.1-src » org » displaytag » jsptests » [javadoc | source]

    1   package org.displaytag.jsptests;
    2   
    3   import org.displaytag.tags.TableTagParameters;
    4   import org.displaytag.test.DisplaytagCase;
    5   import org.displaytag.util.ParamEncoder;
    6   
    7   import com.meterware.httpunit.GetMethodWebRequest;
    8   import com.meterware.httpunit.WebLink;
    9   import com.meterware.httpunit.WebRequest;
   10   import com.meterware.httpunit.WebResponse;
   11   import com.meterware.httpunit.WebTable;
   12   
   13   
   14   /**
   15    * Basic tests for pagination.
   16    * @author Fabrizio Giustina
   17    * @version $Revision: 1024 $ ($Author: fgiust $)
   18    */
   19   public class ExternalSortTest extends DisplaytagCase
   20   {
   21   
   22       /**
   23        * @see org.displaytag.test.DisplaytagCase#getJspName()
   24        */
   25       public String getJspName()
   26       {
   27           return "externalSort.jsp";
   28       }
   29   
   30       /**
   31        * Verifies that the generated page contains the pagination links with the inupt parameter. Tests #917200 ("{}" in
   32        * parameters).
   33        * @param jspName jsp name, with full path
   34        * @throws Exception any axception thrown during test.
   35        */
   36       public void doTest(String jspName) throws Exception
   37       {
   38   
   39           WebRequest request = new GetMethodWebRequest(jspName);
   40           ParamEncoder p1 = new ParamEncoder("table");
   41           ParamEncoder p2 = new ParamEncoder("table2");
   42   
   43           request.setParameter(p2.encodeParameterName(TableTagParameters.PARAMETER_SORT), "number");
   44           request.setParameter(p2.encodeParameterName(TableTagParameters.PARAMETER_SORTUSINGNAME), "1");
   45   
   46           WebResponse response = runner.getResponse(request);
   47   
   48           if (log.isDebugEnabled())
   49           {
   50               log.debug("RESPONSE: " + response.getText());
   51           }
   52   
   53           WebLink[] links = response.getLinks();
   54   
   55           assertEquals("0", links[0].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
   56           assertEquals("2", links[0].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
   57   
   58           assertEquals("buzz", links[1].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
   59           assertEquals("2", links[1].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
   60   
   61           // test that the column with sortName buzz was set as sorted and now has a link to sort desc
   62           assertEquals(
   63               "number",
   64               links[2].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
   65           assertEquals("1", links[2].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
   66   
   67           // now ensure that our data has not been sorted at all since we are doing it 'externally'
   68           WebTable[] tables = response.getTables();
   69           assertEquals("1", tables[1].getCellAsText(1, 0));
   70           assertEquals("4", tables[1].getCellAsText(2, 0));
   71           assertEquals("2", tables[1].getCellAsText(3, 0));
   72           assertEquals("3", tables[1].getCellAsText(4, 0));
   73       }
   74   }

Home » displaytag-1.1.1-src » org » displaytag » jsptests » [javadoc | source]