Example #1
0
  @Test
  public void testSetHtmlTitle() {
    Document doc = Jsoup.parse("<html><head id=2><title id=1></title></head></html>");

    Element title = doc.getElementById("1");
    title.html("good");
    assertEquals("good", title.html());
    title.html("<i>bad</i>");
    assertEquals("&lt;i&gt;bad&lt;/i&gt;", title.html());

    Element head = doc.getElementById("2");
    head.html("<title><i>bad</i></title>");
    assertEquals("<title>&lt;i&gt;bad&lt;/i&gt;</title>", head.html());
  }
Example #2
0
  @Test
  public void testGetElementById() {
    Document doc = Jsoup.parse(reference);
    Element div = doc.getElementById("div1");
    assertEquals("div1", div.id());
    assertNull(doc.getElementById("none"));

    Document doc2 =
        Jsoup.parse("<div id=1><div id=2><p>Hello <span id=2>world!</span></p></div></div>");
    Element div2 = doc2.getElementById("2");
    assertEquals("div", div2.tagName()); // not the span
    Element span = div2.child(0).getElementById("2"); // called from <p> context should be span
    assertEquals("span", span.tagName());
  }
Example #3
0
 @Test
 public void testSetHtml() {
   Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
   Element div = doc.getElementById("1");
   div.html("<p>there</p><p>now</p>");
   assertEquals("<p>there</p><p>now</p>", TextUtil.stripNewlines(div.html()));
 }
Example #4
0
 @Test
 public void testAddNewText() {
   Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
   Element div = doc.getElementById("1");
   div.appendText(" there & now >");
   assertEquals("<p>Hello</p> there &amp; now &gt;", TextUtil.stripNewlines(div.html()));
 }
Example #5
0
 @Test
 public void testPrependElement() {
   Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
   Element div = doc.getElementById("1");
   div.prependElement("p").text("Before");
   assertEquals("Before", div.child(0).text());
   assertEquals("Hello", div.child(1).text());
 }
Example #6
0
  @Test
  public void testSetText() {
    String h = "<div id=1>Hello <p>there <b>now</b></p></div>";
    Document doc = Jsoup.parse(h);
    assertEquals("Hello there now", doc.text()); // need to sort out node whitespace
    assertEquals("there now", doc.select("p").get(0).text());

    Element div = doc.getElementById("1").text("Gone");
    assertEquals("Gone", div.text());
    assertEquals(0, doc.select("p").size());
  }
Example #7
0
 @Test
 public void testGetSiblings() {
   Document doc =
       Jsoup.parse("<div><p>Hello<p id=1>there<p>this<p>is<p>an<p id=last>element</div>");
   Element p = doc.getElementById("1");
   assertEquals("there", p.text());
   assertEquals("Hello", p.previousElementSibling().text());
   assertEquals("this", p.nextElementSibling().text());
   assertEquals("Hello", p.firstElementSibling().text());
   assertEquals("element", p.lastElementSibling().text());
 }
Example #8
0
  @Test
  public void testPrependNewHtml() {
    Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
    Element div = doc.getElementById("1");
    div.prepend("<p>there</p><p>now</p>");
    assertEquals("<p>there</p><p>now</p><p>Hello</p>", TextUtil.stripNewlines(div.html()));

    // check sibling index (reindexChildren):
    Elements ps = doc.select("p");
    for (int i = 0; i < ps.size(); i++) {
      assertEquals(i, ps.get(i).siblingIndex);
    }
  }
Example #9
0
  @Test
  public void testAddNewElement() {
    Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
    Element div = doc.getElementById("1");
    div.appendElement("p").text("there");
    div.appendElement("P").attr("CLASS", "second").text("now");
    // manually specifying tag and attributes should now preserve case, regardless of parse mode
    assertEquals(
        "<html><head></head><body><div id=\"1\"><p>Hello</p><p>there</p><P CLASS=\"second\">now</P></div></body></html>",
        TextUtil.stripNewlines(doc.html()));

    // check sibling index (with short circuit on reindexChildren):
    Elements ps = doc.select("p");
    for (int i = 0; i < ps.size(); i++) {
      assertEquals(i, ps.get(i).siblingIndex);
    }
  }
Example #10
0
 @Test(expected = IllegalArgumentException.class)
 public void testThrowsOnPrependNullText() {
   Document doc = Jsoup.parse("<div id=1><p>Hello</p></div>");
   Element div = doc.getElementById("1");
   div.prependText(null);
 }