public void testParseParameterG() throws ParserException
{
Tag tag;
EndTag etag;
StringNode snode;
Node node = null;
String lin1 =
"<G href=\"http://www.iki.fi/kaila\" myParameter yourParameter=\"Kaila\">Kaarle's homepage</G><p>Paragraph</p>";
createParser(lin1);
NodeIterator en = parser.elements();
Hashtable h;
boolean testEnd = true; // test end of first part
String a, href, myPara, myValue, nice;
try
{
if (en.hasMoreNodes())
{
node = en.nextNode();
tag = (Tag) node;
h = tag.getAttributes();
a = (String) h.get(Tag.TAGNAME);
href = (String) h.get("HREF");
myValue = (String) h.get("MYPARAMETER");
nice = (String) h.get("YOURPARAMETER");
assertEquals("The tagname should be G", a, "G");
assertEquals(
"Check the http address",
href,
"http://www.iki.fi/kaila");
assertEquals("myValue is empty", myValue, "");
assertEquals("The second parameter value", nice, "Kaila");
}
if (en.hasMoreNodes())
{
node = en.nextNode();
snode = (StringNode) node;
assertEquals(
"The text of the element",
snode.getText(),
"Kaarle's homepage");
}
if (en.hasMoreNodes())
{
node = en.nextNode();
etag = (EndTag) node;
assertEquals("Endtag is G", etag.getText(), "G");
}
// testing rest
if (en.hasMoreNodes())
{
node = en.nextNode();
tag = (Tag) node;
assertEquals("Follow up by p-tag", tag.getText(), "p");
}
if (en.hasMoreNodes())
{
node = en.nextNode();
snode = (StringNode) node;
assertEquals(
"Verify the paragraph text",
snode.getText(),
"Paragraph");
}
if (en.hasMoreNodes())
{
node = en.nextNode();
etag = (EndTag) node;
assertEquals("Still patragraph endtag", etag.getText(), "p");
}
}
catch (ClassCastException ce)
{
fail("Bad class element = " + node.getClass().getName());
}
}