1 27 package org.htmlparser.tests.tagTests; 28 29 import java.util.Enumeration ; 30 import java.util.Hashtable ; 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 name) { 44 super(name); 45 } 46 47 public void testToHTML() throws ParserException { 48 String [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 49 Hashtable paramsMap = new Hashtable (); 50 String testHTML = new String ("<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 AppletTag appletTag = (AppletTag)node[0]; 64 String 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 [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 76 Hashtable paramsMap = new Hashtable (); 77 String testHTML = new String ("<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 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 int cnt = 0; 95 for (Enumeration e = appletTag.getParameterNames();e.hasMoreElements();) 96 { 97 String paramName = (String )e.nextElement(); 98 String paramValue = appletTag.getParameter(paramName); 99 assertEquals("Param "+cnt+" value",paramsMap.get(paramName),paramValue); 100 cnt++; 101 } 102 assertEquals("Number of params",new Integer (paramsData.length),new Integer (cnt)); 103 } 104 105 public void testChangeCodebase() throws ParserException { 106 String [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 107 Hashtable paramsMap = new Hashtable (); 108 String testHTML = new String ("<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 String 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 [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 134 Hashtable paramsMap = new Hashtable (); 135 String 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 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 [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 157 Hashtable paramsMap = new Hashtable (); 158 String testHTML = new String ("<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 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 [][]paramsData = {{"Param1","Value1"},{"Name","Somik"},{"Age","23"}}; 180 Hashtable paramsMap = new Hashtable (); 181 String testHTML = new String ("<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 (); 195 String [][] 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 String expectedRawString = 203 "<APPLET CODE=Myclass.class ARCHIVE=test.jar CODEBASE=www.kizna.com>\n"+ 204 "<PARAM VALUE=\"Two\" NAME=\"Second\">"+ "<PARAM VALUE=\"One\" NAME=\"First\">"+ 206 "<PARAM VALUE=\"3\" NAME=\"Third\">"+ 207 "</APPLET>"; 208 String actual = appletTag.toHtml(); 209 assertStringEquals("toHTML()",expectedRawString,actual); 210 } 211 } 212
| Popular Tags
|