* Test parseParameter method
* Created by Kaarle Kaila (august 2001)
* the tag name is here A (and should be eaten up by linkScanner)
*/
public void testParseParameterA() throws ParserException {
Tag tag;
Tag etag;
Text snode;
Node node=null;
String lin1 = "<A href=\"http://www.iki.fi/kaila\" myParameter yourParameter=\"Kaarle Kaaila\">Kaarle's homepage</A><p>Paragraph</p>";
createParser(lin1);
NodeIterator en = parser.elements();
String a,href,myValue,nice;
try {
if (en.hasMoreNodes()) {
node = en.nextNode();
tag = (Tag)node;
a = ((Attribute)(tag.getAttributesEx ().elementAt (0))).getName ();
href = tag.getAttribute ("HREF");
myValue = tag.getAttribute ("MYPARAMETER");
nice = tag.getAttribute ("YOURPARAMETER");
assertEquals ("Link tag (A)","A",a);
assertEquals ("href value","http://www.iki.fi/kaila",href);
assertEquals ("myparameter value",null,myValue);
assertEquals ("yourparameter value","Kaarle Kaaila",nice);
}
if (!(node instanceof LinkTag)) {
// linkscanner has eaten up this piece
if ( en.hasMoreNodes()) {
node = en.nextNode();
snode = (Text)node;
assertEquals("Value of element","Kaarle's homepage",snode.getText());
}
if (en.hasMoreNodes()) {
node = en.nextNode();
etag = (Tag)node;
assertEquals("endtag of link","/A", etag.getText());
}
}
// testing rest
if (en.hasMoreNodes()) {
node = en.nextNode();
tag = (Tag)node;
assertEquals("following paragraph begins",tag.getText(),"p");
}
if (en.hasMoreNodes()) {
node = en.nextNode();
snode = (Text)node;
assertEquals("paragraph contents","Paragraph",snode.getText());
}
if (en.hasMoreNodes()) {
node = en.nextNode();
etag = (Tag)node;
assertEquals("paragrapg endtag","/p",etag.getText());
}
}
catch (ClassCastException ce) {
fail("Bad class element = " + node.getClass().getName());