KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > htmlparser > tests > tagTests > AppletTagTest


1 // HTMLParser Library $Name: v1_5_20050313 $ - A java-based parser for HTML
2
// http://sourceforge.org/projects/htmlparser
3
// Copyright (C) 2004 Somik Raha
4
//
5
// Revision Control Information
6
//
7
// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/tagTests/AppletTagTest.java,v $
8
// $Author: derrickoswald $
9
// $Date: 2004/01/02 16:24:57 $
10
// $Revision: 1.37 $
11
//
12
// This library is free software; you can redistribute it and/or
13
// modify it under the terms of the GNU Lesser General Public
14
// License as published by the Free Software Foundation; either
15
// version 2.1 of the License, or (at your option) any later version.
16
//
17
// This library is distributed in the hope that it will be useful,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
// Lesser General Public License for more details.
21
//
22
// You should have received a copy of the GNU Lesser General Public
23
// License along with this library; if not, write to the Free Software
24
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
//
26

27 package org.htmlparser.tests.tagTests;
28
29 import java.util.Enumeration JavaDoc;
30 import java.util.Hashtable JavaDoc;
31
32 import org.htmlparser.tags.AppletTag;
33 import org.htmlparser.tests.ParserTestCase;
34 import org.htmlparser.util.ParserException;
35
36 public class AppletTagTest extends ParserTestCase {
37
38     static
39     {
40         System.setProperty ("org.htmlparser.tests.tagTests.AppletTagTest", "AppletTagTest");
41     }
42
43     public AppletTagTest(String JavaDoc name) {
44         super(name);
45     }
46
47     public void testToHTML() throws ParserException {
48         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
49         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
50         String JavaDoc testHTML = new String JavaDoc("<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n");
51         for (int i = 0;i<paramsData.length;i++)
52         {
53             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
54             paramsMap.put(paramsData[i][0],paramsData[i][1]);
55         }
56         testHTML+=
57             "</APPLET>\n"+
58             "</HTML>";
59         createParser(testHTML);
60         parseAndAssertNodeCount(3);
61         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
62         // Check the data in the applet tag
63
AppletTag appletTag = (AppletTag)node[0];
64         String JavaDoc expectedRawString =
65         "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n"+
66         "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+
67         "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+
68         "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+
69         "</APPLET>";
70         assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml());
71     }
72
73     public void testScan() throws ParserException
74     {
75         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
76         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
77         String JavaDoc testHTML = new String JavaDoc("<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n");
78         for (int i = 0;i<paramsData.length;i++)
79         {
80             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
81             paramsMap.put(paramsData[i][0],paramsData[i][1]);
82         }
83         testHTML+=
84             "</APPLET></HTML>";
85         createParser(testHTML);
86         parseAndAssertNodeCount(2);
87         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
88         // Check the data in the applet tag
89
AppletTag appletTag = (AppletTag)node[0];
90         assertEquals("Class Name","Myclass.class",appletTag.getAppletClass());
91         assertEquals("Archive","test.jar",appletTag.getArchive());
92         assertEquals("Codebase","www.kizna.com",appletTag.getCodeBase());
93         // Check the params data
94
int cnt = 0;
95         for (Enumeration JavaDoc e = appletTag.getParameterNames();e.hasMoreElements();)
96         {
97             String JavaDoc paramName = (String JavaDoc)e.nextElement();
98             String JavaDoc paramValue = appletTag.getParameter(paramName);
99             assertEquals("Param "+cnt+" value",paramsMap.get(paramName),paramValue);
100             cnt++;
101         }
102         assertEquals("Number of params",new Integer JavaDoc(paramsData.length),new Integer JavaDoc(cnt));
103     }
104     
105     public void testChangeCodebase() throws ParserException {
106         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
107         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
108         String JavaDoc testHTML = new String JavaDoc("<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n");
109         for (int i = 0;i<paramsData.length;i++)
110         {
111             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
112             paramsMap.put(paramsData[i][0],paramsData[i][1]);
113         }
114         testHTML+=
115             "</APPLET>\n"+
116             "</HTML>";
117         createParser(testHTML);
118         parseAndAssertNodeCount(3);
119         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
120         AppletTag appletTag = (AppletTag)node[0];
121         appletTag.setCodeBase ("htmlparser.sourceforge.net");
122         // Check the data in the applet tag
123
String JavaDoc expectedRawString =
124         "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=htmlparser.sourceforge.net>\n"+
125         "<PARAM NAME=\"Param1\" VALUE=\"Value1\">\n"+
126         "<PARAM NAME=\"Name\" VALUE=\"Somik\">\n"+
127         "<PARAM NAME=\"Age\" VALUE=\"23\">\n"+
128         "</APPLET>";
129         assertStringEquals("toHTML()",expectedRawString,appletTag.toHtml());
130     }
131
132     public void testChangeArchive() throws ParserException {
133         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
134         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
135         String JavaDoc testHTML = "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n";
136         for (int i = 0;i<paramsData.length;i++)
137         {
138             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
139             paramsMap.put(paramsData[i][0],paramsData[i][1]);
140         }
141         testHTML +=
142             "</APPLET>";
143         createParser(testHTML + "\n</HTML>");
144         parseAndAssertNodeCount(3);
145         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
146         AppletTag appletTag = (AppletTag)node[0];
147         appletTag.setArchive ("htmlparser.jar");
148         // Check the data in the applet tag
149
testHTML = testHTML.substring (0, testHTML.indexOf ("test.jar"))
150             + "htmlparser.jar"
151             + testHTML.substring (testHTML.indexOf ("test.jar") + 8);
152         assertStringEquals("toHTML()",testHTML,appletTag.toHtml());
153     }
154
155     public void testChangeAppletClass() throws ParserException {
156         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
157         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
158         String JavaDoc testHTML = new String JavaDoc("<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n");
159         for (int i = 0;i<paramsData.length;i++)
160         {
161             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
162             paramsMap.put(paramsData[i][0],paramsData[i][1]);
163         }
164         testHTML+=
165             "</APPLET>";
166         createParser(testHTML + "\n</HTML>");
167         parseAndAssertNodeCount(3);
168         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
169         AppletTag appletTag = (AppletTag)node[0];
170         appletTag.setAppletClass ("MyOtherClass.class");
171         // Check the data in the applet tag
172
testHTML = testHTML.substring (0, testHTML.indexOf ("Myclass.class"))
173             + "MyOtherClass.class"
174             + testHTML.substring (testHTML.indexOf ("Myclass.class") + 13);
175         assertStringEquals("toHTML()",testHTML,appletTag.toHtml());
176     }
177
178     public void testChangeAppletParams() throws ParserException {
179         String JavaDoc [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}};
180         Hashtable JavaDoc paramsMap = new Hashtable JavaDoc();
181         String JavaDoc testHTML = new String JavaDoc("<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n");
182         for (int i = 0;i<paramsData.length;i++)
183         {
184             testHTML+="<PARAM NAME=\""+paramsData[i][0]+"\" VALUE=\""+paramsData[i][1]+"\">\n";
185             paramsMap.put(paramsData[i][0],paramsData[i][1]);
186         }
187         testHTML+=
188             "</APPLET>\n"+
189             "</HTML>";
190         createParser(testHTML);
191         parseAndAssertNodeCount(3);
192         assertTrue("Node should be an applet tag",node[0] instanceof AppletTag);
193         AppletTag appletTag = (AppletTag)node[0];
194         paramsMap = new Hashtable JavaDoc();
195         String JavaDoc [][] newparamsData = {{"First","One"},{"Second","Two"},{"Third","3"}};
196         for (int i = 0;i<paramsData.length;i++)
197         {
198             paramsMap.put(newparamsData[i][0],newparamsData[i][1]);
199         }
200         appletTag.setAppletParams (paramsMap);
201         // Check the data in the applet tag
202
String JavaDoc expectedRawString =
203         "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n"+
204         "<PARAM VALUE=\"Two\" NAME=\"Second\">"+ // note these are out of orer because of the hashtable
205
"<PARAM VALUE=\"One\" NAME=\"First\">"+
206         "<PARAM VALUE=\"3\" NAME=\"Third\">"+
207         "</APPLET>";
208         String JavaDoc actual = appletTag.toHtml();
209         assertStringEquals("toHTML()",expectedRawString,actual);
210     }
211 }
212
Popular Tags