1   /*
2    *  Java HTML Tidy - JTidy
3    *  HTML parser and pretty printer
4    *
5    *  Copyright (c) 1998-2000 World Wide Web Consortium (Massachusetts
6    *  Institute of Technology, Institut National de Recherche en
7    *  Informatique et en Automatique, Keio University). All Rights
8    *  Reserved.
9    *
10   *  Contributing Author(s):
11   *
12   *     Dave Raggett <dsr@w3.org>
13   *     Andy Quick <ac.quick@sympatico.ca> (translation to Java)
14   *     Gary L Peskin <garyp@firstech.com> (Java development)
15   *     Sami Lempinen <sami@lempinen.net> (release management)
16   *     Fabrizio Giustina <fgiust at users.sourceforge.net>
17   *     Vlad Skarzhevskyy <vlads at users.sourceforge.net> (JTidy servlet  development)
18   *
19   *  The contributing author(s) would like to thank all those who
20   *  helped with testing, bug fixes, and patience.  This wouldn't
21   *  have been possible without all of you.
22   *
23   *  COPYRIGHT NOTICE:
24   *
25   *  This software and documentation is provided "as is," and
26   *  the copyright holders and contributing author(s) make no
27   *  representations or warranties, express or implied, including
28   *  but not limited to, warranties of merchantability or fitness
29   *  for any particular purpose or that the use of the software or
30   *  documentation will not infringe any third party patents,
31   *  copyrights, trademarks or other rights.
32   *
33   *  The copyright holders and contributing author(s) will not be
34   *  liable for any direct, indirect, special or consequential damages
35   *  arising out of any use of the software or documentation, even if
36   *  advised of the possibility of such damage.
37   *
38   *  Permission is hereby granted to use, copy, modify, and distribute
39   *  this source code, or portions hereof, documentation and executables,
40   *  for any purpose, without fee, subject to the following restrictions:
41   *
42   *  1. The origin of this source code must not be misrepresented.
43   *  2. Altered versions must be plainly marked as such and must
44   *     not be misrepresented as being the original source.
45   *  3. This Copyright notice may not be removed or altered from any
46   *     source or altered source distribution.
47   *
48   *  The copyright holders and contributing author(s) specifically
49   *  permit, without fee, and encourage the use of this source code
50   *  as a component for supporting the Hypertext Markup Language in
51   *  commercial products. If you use this source code in a product,
52   *  acknowledgment is not required but would be appreciated.
53   *
54   */
55  package org.w3c.tidy.servlet;
56  
57  /*
58   * Created on 26.10.2004 by vlads
59   */
60  import java.util.Hashtable;
61  
62  import org.w3c.tidy.servlet.properties.JTidyServletProperties;
63  
64  import com.meterware.httpunit.WebImage;
65  import com.meterware.httpunit.WebResponse;
66  
67  
68  /***
69   * @author Vlad Skarzhevskyy <a href="mailto:skarzhevskyy@gmail.com">skarzhevskyy@gmail.com </a>
70   * @version $Revision: 1.3 $ ($Author: fgiust $)
71   */
72  public class ValidationImageRedefineTest extends TidyServletCase
73  {
74  
75      public ValidationImageRedefineTest(String name)
76      {
77          super(name);
78      }
79  
80      public void setServletInitParameters(Hashtable initParameters)
81      {
82          initParameters.put("properties.filename", "JTidyServletTest.properties");
83      }
84  
85      /***
86       * Check that image source is set properly in Servlet. do not call the redirector
87       * @throws Exception any axception thrown during test.
88       */
89      public void testSmallImage() throws Exception
90      {
91          WebResponse response = getJSPResponse("servlet/FormatedByTagOK.jsp");
92  
93          WebImage[] img = response.getImages();
94  
95          assertEquals("Expected 1 images in result.", 1, img.length);
96  
97          assertEquals("Expected my name Page Validation", "Page Validation", img[0].getAltText());
98  
99          String src = img[0].getSource();
100 
101         WebResponse responseImgSrc = getResponse(src + "&srcOnly=true");
102 
103         assertFalse("Image src", responseImgSrc.getText().equalsIgnoreCase(Consts.DEFAULT_IMAGE_NAME_PREFIX + "ok.png"));
104         assertTrue("Image ok.png", responseImgSrc.getText().endsWith("ok.png"));
105 
106         WebResponse responseImg = getResponse(src);
107 
108         assertEquals("Image type", "image/png", responseImg.getContentType());
109 
110         int len = responseImg.getContentLength();
111 
112         assertTrue("Small Image", (len < 1000));
113     }
114 
115     /***
116      * @see junit.framework.TestCase#tearDown()
117      */
118     protected void tearDown() throws Exception
119     {
120         // reset default values
121         JTidyServletProperties.getInstance().loadFile("JTidyServlet.properties");
122     }
123 }