Skip to content

Commit

Permalink
migrate from junit4 to junit5 + update deps
Browse files Browse the repository at this point in the history
  • Loading branch information
syjer committed Jan 19, 2025
1 parent 7426e06 commit 8da800a
Show file tree
Hide file tree
Showing 15 changed files with 390 additions and 367 deletions.
19 changes: 13 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,28 +44,35 @@
</properties>

<dependencies>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.11.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.11.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
<version>3.17.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.15.3</version>
<version>1.18.3</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
28 changes: 15 additions & 13 deletions src/test/java/ch/digitalfondue/jfiveparse/CloneTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,35 +15,37 @@
*/
package ch.digitalfondue.jfiveparse;

import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;

public class CloneTest {
import static org.junit.jupiter.api.Assertions.*;


class CloneTest {

@Test
public void cloneDeep() {
void cloneDeep() {
Document document = new Parser().parse("<div><p>Hello World</p></div>");
Document cloned = (Document) document.cloneNode(true);
Assert.assertEquals(document.getFirstElementChild().getOuterHTML(), cloned.getFirstElementChild().getOuterHTML());
assertEquals(document.getFirstElementChild().getOuterHTML(), cloned.getFirstElementChild().getOuterHTML());

((Text) cloned.getElementsByTagName("p").get(0).getChildNodes().get(0)).setData("Hello World!");

Assert.assertNotEquals(document.getFirstElementChild().getOuterHTML(), cloned.getFirstElementChild().getOuterHTML());
Assert.assertEquals("<html><head></head><body><div><p>Hello World</p></div></body></html>", document.getFirstElementChild().getOuterHTML());
Assert.assertEquals("<html><head></head><body><div><p>Hello World!</p></div></body></html>", cloned.getFirstElementChild().getOuterHTML());
assertNotEquals(document.getFirstElementChild().getOuterHTML(), cloned.getFirstElementChild().getOuterHTML());
assertEquals("<html><head></head><body><div><p>Hello World</p></div></body></html>", document.getFirstElementChild().getOuterHTML());
assertEquals("<html><head></head><body><div><p>Hello World!</p></div></body></html>", cloned.getFirstElementChild().getOuterHTML());
}


@Test
public void cloneShallow() {
void cloneShallow() {
Document document = new Parser().parse("<div><p>Hello World</p></div>");
Document cloned = (Document) document.cloneNode(false);
Assert.assertEquals("<html><head></head><body><div><p>Hello World</p></div></body></html>", document.getFirstElementChild().getOuterHTML());
Assert.assertEquals(null, cloned.getFirstElementChild());
assertEquals("<html><head></head><body><div><p>Hello World</p></div></body></html>", document.getFirstElementChild().getOuterHTML());
assertNull(cloned.getFirstElementChild());

Element div = document.getElementsByTagName("div").get(0);
Element divCloned = (Element) div.cloneNode(false);
Assert.assertEquals("<div><p>Hello World</p></div>", div.getOuterHTML());
Assert.assertEquals("<div></div>", divCloned.getOuterHTML());
assertEquals("<div><p>Hello World</p></div>", div.getOuterHTML());
assertEquals("<div></div>", divCloned.getOuterHTML());
}
}
23 changes: 12 additions & 11 deletions src/test/java/ch/digitalfondue/jfiveparse/DocumentTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,33 @@
*/
package ch.digitalfondue.jfiveparse;

import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;

import java.io.StringReader;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class DocumentTest {

class DocumentTest {


@Test
public void checkDocumentRelatedMethods() {
void checkDocumentRelatedMethods() {
Document d1 = new Parser().parse("<!DOCTYPE html><div>Hello World</div>");
Assert.assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", HtmlSerializer.serialize(d1));
assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", HtmlSerializer.serialize(d1));

Assert.assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", JFiveParse.serialize(JFiveParse.parse("<!DOCTYPE html><div>Hello World</div>")));
Assert.assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", JFiveParse.serialize(JFiveParse.parse(new StringReader("<!DOCTYPE html><div>Hello World</div>"))));
assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", JFiveParse.serialize(JFiveParse.parse("<!DOCTYPE html><div>Hello World</div>")));
assertEquals("<!DOCTYPE html><html><head></head><body><div>Hello World</div></body></html>", JFiveParse.serialize(JFiveParse.parse(new StringReader("<!DOCTYPE html><div>Hello World</div>"))));

Assert.assertEquals("html", d1.getDocumentElement().getNodeName());
Assert.assertEquals("<head></head>", d1.getHead().getOuterHTML());
Assert.assertEquals("<body><div>Hello World</div></body>", d1.getBody().getOuterHTML());
assertEquals("html", d1.getDocumentElement().getNodeName());
assertEquals("<head></head>", d1.getHead().getOuterHTML());
assertEquals("<body><div>Hello World</div></body>", d1.getBody().getOuterHTML());

Element body = new Element("body");
body.setId("newBody");

d1.setBody(body);

Assert.assertEquals("<body id=\"newBody\"></body>", d1.getBody().getOuterHTML());
assertEquals("<body id=\"newBody\"></body>", d1.getBody().getOuterHTML());
}
}
89 changes: 48 additions & 41 deletions src/test/java/ch/digitalfondue/jfiveparse/ElementTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,137 +15,144 @@
*/
package ch.digitalfondue.jfiveparse;

import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;

/**
* Created by mattia on 28/04/16.
*/
public class ElementTest {
class ElementTest {
final Parser parser = new Parser();

//https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML
@Test
public void testInsertAdjacentHTMLBeforeBegin() {
void insertAdjacentHTMLBeforeBegin() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("beforebegin", "<!-- beforebegin -->");
Assert.assertEquals("<div><!-- beforebegin --><p id=\"myid\">foo</p></div>", startNode.getOuterHTML());
assertEquals("<div><!-- beforebegin --><p id=\"myid\">foo</p></div>", startNode.getOuterHTML());
}

@Test
public void testInsertAdjacentHTMLAfterBeginMultiple() {
void insertAdjacentHTMLAfterBeginMultiple() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("afterbegin", "<h1>1</h1><h2>2</h2>");
Assert.assertEquals("<div><p id=\"myid\"><h1>1</h1><h2>2</h2>foo</p></div>", startNode.getOuterHTML());
assertEquals("<div><p id=\"myid\"><h1>1</h1><h2>2</h2>foo</p></div>", startNode.getOuterHTML());
}

@Test(expected = IllegalStateException.class)
public void testBeforeBeginWithoutParent() {
@Test
void beforeBeginWithoutParent() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
startNode.parentNode = null;
startNode.insertAdjacentHTML("beforebegin", "<!-- beforebegin -->");
assertThrows(IllegalStateException.class, () ->
startNode.insertAdjacentHTML("beforebegin", "<!-- beforebegin -->"));
}

@Test
public void testInsertAdjacentHTMLAfterBegin() {
void insertAdjacentHTMLAfterBegin() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("afterbegin", "<!-- afterbegin -->");
Assert.assertEquals("<div><p id=\"myid\"><!-- afterbegin -->foo</p></div>", startNode.getOuterHTML());
assertEquals("<div><p id=\"myid\"><!-- afterbegin -->foo</p></div>", startNode.getOuterHTML());
}

@Test
public void testInsertAdjacentHTMLBeforeEnd() {
void insertAdjacentHTMLBeforeEnd() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("beforeend", "<!-- beforeend -->");
Assert.assertEquals("<div><p id=\"myid\">foo<!-- beforeend --></p></div>", startNode.getOuterHTML());
assertEquals("<div><p id=\"myid\">foo<!-- beforeend --></p></div>", startNode.getOuterHTML());
}

@Test
public void testInsertAdjacentHTMLBeforeEndMultiple() {
void insertAdjacentHTMLBeforeEndMultiple() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("beforeend", "<h1>1</h1><h2>2</h2>");
Assert.assertEquals("<div><p id=\"myid\">foo<h1>1</h1><h2>2</h2></p></div>", startNode.getOuterHTML());
assertEquals("<div><p id=\"myid\">foo<h1>1</h1><h2>2</h2></p></div>", startNode.getOuterHTML());
}

@Test
public void testInsertAdjacentHTMLAfterEnd() {
void insertAdjacentHTMLAfterEnd() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("afterend", "<!-- afterend -->");
Assert.assertEquals("<div><p id=\"myid\">foo</p><!-- afterend --></div>", startNode.getOuterHTML());
assertEquals("<div><p id=\"myid\">foo</p><!-- afterend --></div>", startNode.getOuterHTML());
}

@Test(expected = IllegalStateException.class)
public void testAfterEndWithoutParent() {
@Test
void afterEndWithoutParent() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
startNode.parentNode = null;
startNode.insertAdjacentHTML("afterend", "<!-- beforebegin -->");
assertThrows(IllegalStateException.class, () ->
startNode.insertAdjacentHTML("afterend", "<!-- beforebegin -->"));
}

@Test(expected = IllegalStateException.class)
public void testWrongPosition() {
@Test()
void wrongPosition() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
startNode.insertAdjacentHTML("plop", "<!-- plop -->");
assertThrows(IllegalStateException.class, () ->
startNode.insertAdjacentHTML("plop", "<!-- plop -->"));
}

@Test
public void testAll() {
void all() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentHTML("beforebegin", "<!-- beforebegin -->");
myIdElement.insertAdjacentHTML("afterbegin", "<!-- afterbegin -->");
myIdElement.insertAdjacentHTML("beforeend", "<!-- beforeend -->");
myIdElement.insertAdjacentHTML("afterend", "<!-- afterend -->");
Assert.assertEquals("<div><!-- beforebegin --><p id=\"myid\"><!-- afterbegin -->foo<!-- beforeend --></p><!-- afterend --></div>", startNode.getOuterHTML());
assertEquals("<div><!-- beforebegin --><p id=\"myid\"><!-- afterbegin -->foo<!-- beforeend --></p><!-- afterend --></div>", startNode.getOuterHTML());
}

@Test
public void testInsertAdjacentElementAll() {
void insertAdjacentElementAll() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentElement("beforebegin", new Element("beforebegin"));
myIdElement.insertAdjacentElement("afterbegin", new Element("afterbegin"));
myIdElement.insertAdjacentElement("beforeend", new Element("beforeend"));
myIdElement.insertAdjacentElement("afterend", new Element("afterend"));
Assert.assertEquals("<div><beforebegin></beforebegin><p id=\"myid\"><afterbegin></afterbegin>foo<beforeend></beforeend></p><afterend></afterend></div>", startNode.getOuterHTML());
assertEquals("<div><beforebegin></beforebegin><p id=\"myid\"><afterbegin></afterbegin>foo<beforeend></beforeend></p><afterend></afterend></div>", startNode.getOuterHTML());
}

@Test(expected = IllegalStateException.class)
public void testWrongElementPosition() {
@Test
void wrongElementPosition() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
startNode.insertAdjacentElement("plop", new Element("plop"));
assertThrows(IllegalStateException.class, () ->
startNode.insertAdjacentElement("plop", new Element("plop")));
}

@Test(expected = IllegalStateException.class)
public void testWrongTextPosition() {
@Test
void wrongTextPosition() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
startNode.insertAdjacentText("plop", "plop");
assertThrows(IllegalStateException.class, () ->
startNode.insertAdjacentText("plop", "plop"));
}

@Test
public void testInsertAdjacentTextAll() {
void insertAdjacentTextAll() {
Element startNode = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Element myIdElement = startNode.getElementById("myid");
myIdElement.insertAdjacentText("beforebegin", "beforebegin");
myIdElement.insertAdjacentText("afterbegin", "afterbegin");
myIdElement.insertAdjacentText("beforeend", "beforeend");
myIdElement.insertAdjacentText("afterend", "afterend");
Assert.assertEquals("<div>beforebegin<p id=\"myid\">afterbeginfoobeforeend</p>afterend</div>", startNode.getOuterHTML());
assertEquals("<div>beforebegin<p id=\"myid\">afterbeginfoobeforeend</p>afterend</div>", startNode.getOuterHTML());
}

@Test
public void testGetTagName() {
void getTagName() {
Element div = (Element) parser.parseFragment(new Element("div"), "<div><p id=myid>foo</p></div>").get(0);
Assert.assertEquals("DIV", div.getTagName());
assertEquals("DIV", div.getTagName());


Element svg = (Element) parser.parseFragment(new Element("div"), "<svg><path id=myid>foo</path></svg>").get(0);
Assert.assertEquals("svg", svg.getTagName());
Assert.assertEquals("path", svg.getFirstElementChild().getTagName());
assertEquals("svg", svg.getTagName());
assertEquals("path", svg.getFirstElementChild().getTagName());
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package ch.digitalfondue.jfiveparse;

import static ch.digitalfondue.jfiveparse.Common.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;

public class EnsureCommonElementIDTest {
class EnsureCommonElementIDTest {

@Test
public void ensureCommonElementIDRanges() {
void ensureCommonElementIDRanges() {
var addressToXmpSpecial = new byte[]{
ELEMENT_ADDRESS_ID,
ELEMENT_APPLET_ID,
Expand Down Expand Up @@ -104,16 +105,16 @@ public void ensureCommonElementIDRanges() {

// check they always are consecutive and ELEMENT_ADDRESS_ID and ELEMENT_XMP_ID are first and last
for (int i = 1; i < addressToXmpSpecial.length; i++) {
Assert.assertEquals(addressToXmpSpecial[i], addressToXmpSpecial[i - 1] + 1);
Assert.assertTrue(ELEMENT_ADDRESS_ID < addressToXmpSpecial[i]);
Assert.assertTrue(ELEMENT_XMP_ID > addressToXmpSpecial[i] || ELEMENT_XMP_ID == addressToXmpSpecial[i]);
assertEquals(addressToXmpSpecial[i], addressToXmpSpecial[i - 1] + 1);
assertTrue(ELEMENT_ADDRESS_ID < addressToXmpSpecial[i]);
assertTrue(ELEMENT_XMP_ID > addressToXmpSpecial[i] || ELEMENT_XMP_ID == addressToXmpSpecial[i]);
}


for (int i = 1; i < h1h6.length; i++) {
Assert.assertEquals(h1h6[i], h1h6[i - 1] + 1);
Assert.assertTrue(ELEMENT_H1_ID < h1h6[i]);
Assert.assertTrue(ELEMENT_H6_ID > h1h6[i] || ELEMENT_H6_ID == h1h6[i]);
assertEquals(h1h6[i], h1h6[i - 1] + 1);
assertTrue(ELEMENT_H1_ID < h1h6[i]);
assertTrue(ELEMENT_H6_ID > h1h6[i] || ELEMENT_H6_ID == h1h6[i]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Map;
Expand All @@ -41,7 +40,7 @@ private static class EntityValues {
public static void main(String[] args) throws IOException {
Type type = (new TypeToken<Map<String, EntityValues>>() {
}).getType();
String json = new String(Files.readAllBytes(Paths.get("src/test/resources/entities.json")), StandardCharsets.UTF_8);
String json = Files.readString(Paths.get("src/test/resources/entities.json"));
Map<String, EntityValues> m = new GsonBuilder().create().fromJson(json, type);

Prefix p = new Prefix(null);
Expand Down
Loading

0 comments on commit 8da800a

Please sign in to comment.