Пример #1
0
 public Attribute getAttribute(String name, boolean ignoreCase) {
   for (Attribute ta : attributes()) {
     if (LexerUtils.equals(ta.name(), name, ignoreCase, false)) {
       return ta;
     }
   }
   return null;
 }
Пример #2
0
  public void testAttributes() throws ParseException {
    HtmlParseResult result =
        parse(
            "<!DOCTYPE html><html><head><title>hello</title></head><body onclick=\"alert()\"></body></html>");
    Node root = result.root();
    //        NodeUtils.dumpTree(root);
    assertNotNull(root);
    OpenTag body = ElementUtils.query(root, "html/body");
    assertNotNull(body);

    assertEquals(1, body.attributes().size());

    Attribute attr = body.attributes().iterator().next();
    assertNotNull(attr);
    assertEquals("onclick", attr.name().toString());
    assertEquals("\"alert()\"", attr.value().toString());
  }
Пример #3
0
  // Bug 211792
  // http://netbeans.org/bugzilla/show_bug.cgi?id=211792
  public void testIssue211792() throws ParseException {
    //        ParseTreeBuilder.setLoggerLevel(Level.ALL);

    String code = "<a href=\"\"</p>";
    //             01234567 8 901234
    //             0         1
    Node root = parse(code).root();

    //        ElementUtils.dumpTree(root);

    OpenTag a = ElementUtils.query(root, "html/body/a");
    assertNotNull(a);

    Collection<Attribute> attrs = a.attributes();
    assertNotNull(attrs);

    //        for(Attribute attr : attrs) {
    //            System.out.println("from:" + attr.from());
    //            System.out.println("to:" + attr.to());
    //            System.out.println("nameoffset:" + attr.nameOffset());
    //            System.out.println("valueoffset:" + attr.valueOffset());
    //            System.out.println("name:"+attr.name());
    //            System.out.println("value:"+attr.value());
    //        }

    // properly the number of the attributes should be one, but the
    // html parser itself serves the three attributes, where first one
    // is correct, second one is completely
    // out of the source are and a third one which represents
    // the close tag after the quotes.
    assertEquals(2, attrs.size());

    Attribute href = attrs.iterator().next();
    assertNotNull(href);

    assertEquals(3, href.from());
    assertEquals(10, href.to());
    assertEquals(3, href.nameOffset());
    assertEquals(8, href.valueOffset());
    assertEquals("href", href.name().toString());
    assertEquals("\"\"", href.value().toString());
    assertEquals("", href.unquotedValue().toString());
  }