Skip to content

Commit da13c45

Browse files
authored
Merge pull request #379 from commonmark/junit-5-assertj
Upgrade to JUnit 5 and AssertJ
2 parents 6ac678c + 6646277 commit da13c45

File tree

64 files changed

+727
-815
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+727
-815
lines changed

commonmark-ext-autolink/src/test/java/org/commonmark/ext/autolink/AutolinkTest.java

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@
66
import org.commonmark.parser.Parser;
77
import org.commonmark.renderer.html.HtmlRenderer;
88
import org.commonmark.testutil.RenderingTestCase;
9-
import org.junit.Test;
9+
import org.junit.jupiter.api.Test;
1010

1111
import java.util.List;
1212
import java.util.Set;
1313

14-
import static org.junit.Assert.assertEquals;
15-
import static org.junit.Assert.assertTrue;
14+
import static org.assertj.core.api.Assertions.assertThat;
1615

1716
public class AutolinkTest extends RenderingTestCase {
1817

@@ -71,44 +70,37 @@ public void sourceSpans() {
7170

7271
Paragraph paragraph = (Paragraph) document.getFirstChild();
7372
Text abc = (Text) paragraph.getFirstChild();
74-
assertEquals(List.of(SourceSpan.of(0, 0, 0, 3)),
75-
abc.getSourceSpans());
73+
assertThat(abc.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(0, 0, 0, 3)));
7674

77-
assertTrue(abc.getNext() instanceof SoftLineBreak);
75+
assertThat(abc.getNext()).isInstanceOf(SoftLineBreak.class);
7876

7977
Link one = (Link) abc.getNext().getNext();
80-
assertEquals("http://example.com/one", one.getDestination());
81-
assertEquals(List.of(SourceSpan.of(1, 0, 4, 22)),
82-
one.getSourceSpans());
78+
assertThat(one.getDestination()).isEqualTo("http://example.com/one");
79+
assertThat(one.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(1, 0, 4, 22)));
8380

84-
assertTrue(one.getNext() instanceof SoftLineBreak);
81+
assertThat(one.getNext()).isInstanceOf(SoftLineBreak.class);
8582

8683
Text def = (Text) one.getNext().getNext();
87-
assertEquals("def ", def.getLiteral());
88-
assertEquals(List.of(SourceSpan.of(2, 0, 27, 4)),
89-
def.getSourceSpans());
84+
assertThat(def.getLiteral()).isEqualTo("def ");
85+
assertThat(def.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(2, 0, 27, 4)));
9086

9187
Link two = (Link) def.getNext();
92-
assertEquals("http://example.com/two", two.getDestination());
93-
assertEquals(List.of(SourceSpan.of(2, 4, 31, 22)),
94-
two.getSourceSpans());
88+
assertThat(two.getDestination()).isEqualTo("http://example.com/two");
89+
assertThat(two.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(2, 4, 31, 22)));
9590

96-
assertTrue(two.getNext() instanceof SoftLineBreak);
91+
assertThat(two.getNext()).isInstanceOf(SoftLineBreak.class);
9792

9893
Text ghi = (Text) two.getNext().getNext();
99-
assertEquals("ghi ", ghi.getLiteral());
100-
assertEquals(List.of(SourceSpan.of(3, 0, 54, 4)),
101-
ghi.getSourceSpans());
94+
assertThat(ghi.getLiteral()).isEqualTo("ghi ");
95+
assertThat(ghi.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(3, 0, 54, 4)));
10296

10397
Link three = (Link) ghi.getNext();
104-
assertEquals("http://example.com/three", three.getDestination());
105-
assertEquals(List.of(SourceSpan.of(3, 4, 58, 24)),
106-
three.getSourceSpans());
98+
assertThat(three.getDestination()).isEqualTo("http://example.com/three");
99+
assertThat(three.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(3, 4, 58, 24)));
107100

108101
Text jkl = (Text) three.getNext();
109-
assertEquals(" jkl", jkl.getLiteral());
110-
assertEquals(List.of(SourceSpan.of(3, 28, 82, 4)),
111-
jkl.getSourceSpans());
102+
assertThat(jkl.getLiteral()).isEqualTo(" jkl");
103+
assertThat(jkl.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(3, 28, 82, 4)));
112104
}
113105

114106
@Override

commonmark-ext-footnotes/src/test/java/org/commonmark/ext/footnotes/FootnoteHtmlRendererTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.commonmark.renderer.html.HtmlRenderer;
99
import org.commonmark.testutil.Asserts;
1010
import org.commonmark.testutil.RenderingTestCase;
11-
import org.junit.Test;
11+
import org.junit.jupiter.api.Test;
1212

1313
import java.util.List;
1414
import java.util.Set;

commonmark-ext-footnotes/src/test/java/org/commonmark/ext/footnotes/FootnoteMarkdownRendererTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
import org.commonmark.node.Node;
55
import org.commonmark.parser.Parser;
66
import org.commonmark.renderer.markdown.MarkdownRenderer;
7-
import org.junit.Test;
7+
import org.junit.jupiter.api.Test;
88

99
import java.util.Set;
1010

11-
import static org.junit.Assert.assertEquals;
11+
import static org.assertj.core.api.Assertions.assertThat;
1212

1313
public class FootnoteMarkdownRendererTest {
1414
private static final Set<Extension> EXTENSIONS = Set.of(FootnotesExtension.builder().inlineFootnotes(true).build());
@@ -43,7 +43,7 @@ public void testInline() {
4343

4444
private void assertRoundTrip(String input) {
4545
String rendered = parseAndRender(input);
46-
assertEquals(input, rendered);
46+
assertThat(rendered).isEqualTo(input);
4747
}
4848

4949
private String parseAndRender(String source) {

commonmark-ext-footnotes/src/test/java/org/commonmark/ext/footnotes/FootnotesTest.java

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
import org.commonmark.node.*;
55
import org.commonmark.parser.IncludeSourceSpans;
66
import org.commonmark.parser.Parser;
7-
import org.junit.Test;
7+
import org.junit.jupiter.api.Test;
88

99
import java.util.ArrayList;
1010
import java.util.List;
1111
import java.util.Objects;
1212
import java.util.Set;
1313

14-
import static org.junit.Assert.assertEquals;
15-
import static org.junit.Assert.assertNull;
14+
import static org.assertj.core.api.Assertions.assertThat;
1615

1716
public class FootnotesTest {
1817

@@ -24,13 +23,13 @@ public void testDefBlockStart() {
2423
for (var s : List.of("1", "a", "^", "*", "\\a", "\uD83D\uDE42", "&0")) {
2524
var doc = PARSER.parse("[^" + s + "]: footnote\n");
2625
var def = find(doc, FootnoteDefinition.class);
27-
assertEquals(s, def.getLabel());
26+
assertThat(def.getLabel()).isEqualTo(s);
2827
}
2928

3029
for (var s : List.of("", " ", "a b", "]", "\r", "\n", "\t")) {
3130
var input = "[^" + s + "]: footnote\n";
3231
var doc = PARSER.parse(input);
33-
assertNull("input: " + input, tryFind(doc, FootnoteDefinition.class));
32+
assertThat(tryFind(doc, FootnoteDefinition.class)).as("input: " + input).isNull();
3433
}
3534
}
3635

@@ -40,33 +39,33 @@ public void testDefBlockStartInterrupts() {
4039
var doc = PARSER.parse("test\n[^1]: footnote\n");
4140
var paragraph = find(doc, Paragraph.class);
4241
var def = find(doc, FootnoteDefinition.class);
43-
assertEquals("test", ((Text) paragraph.getLastChild()).getLiteral());
44-
assertEquals("1", def.getLabel());
42+
assertThat(((Text) paragraph.getLastChild()).getLiteral()).isEqualTo("test");
43+
assertThat(def.getLabel()).isEqualTo("1");
4544
}
4645

4746
@Test
4847
public void testDefBlockStartIndented() {
4948
var doc1 = PARSER.parse(" [^1]: footnote\n");
50-
assertEquals("1", find(doc1, FootnoteDefinition.class).getLabel());
49+
assertThat(find(doc1, FootnoteDefinition.class).getLabel()).isEqualTo("1");
5150
var doc2 = PARSER.parse(" [^1]: footnote\n");
52-
assertNull(tryFind(doc2, FootnoteDefinition.class));
51+
assertNone(doc2, FootnoteDefinition.class);
5352
}
5453

5554
@Test
5655
public void testDefMultiple() {
5756
var doc = PARSER.parse("[^1]: foo\n[^2]: bar\n");
5857
var defs = findAll(doc, FootnoteDefinition.class);
59-
assertEquals("1", defs.get(0).getLabel());
60-
assertEquals("2", defs.get(1).getLabel());
58+
assertThat(defs.get(0).getLabel()).isEqualTo("1");
59+
assertThat(defs.get(1).getLabel()).isEqualTo("2");
6160
}
6261

6362
@Test
6463
public void testDefBlockStartAfterLinkReferenceDefinition() {
6564
var doc = PARSER.parse("[foo]: /url\n[^1]: footnote\n");
6665
var linkReferenceDef = find(doc, LinkReferenceDefinition.class);
6766
var footnotesDef = find(doc, FootnoteDefinition.class);
68-
assertEquals("foo", linkReferenceDef.getLabel());
69-
assertEquals("1", footnotesDef.getLabel());
67+
assertThat(linkReferenceDef.getLabel()).isEqualTo("foo");
68+
assertThat(footnotesDef.getLabel()).isEqualTo("1");
7069
}
7170

7271
@Test
@@ -90,14 +89,14 @@ public void testDefContainsIndentedCodeBlock() {
9089
var doc = PARSER.parse("[^1]:\n code\n");
9190
var def = find(doc, FootnoteDefinition.class);
9291
var codeBlock = (IndentedCodeBlock) def.getFirstChild();
93-
assertEquals("code\n", codeBlock.getLiteral());
92+
assertThat(codeBlock.getLiteral()).isEqualTo("code\n");
9493
}
9594

9695
@Test
9796
public void testDefContainsMultipleLines() {
9897
var doc = PARSER.parse("[^1]: footnote\nstill\n");
9998
var def = find(doc, FootnoteDefinition.class);
100-
assertEquals("1", def.getLabel());
99+
assertThat(def.getLabel()).isEqualTo("1");
101100
var paragraph = (Paragraph) def.getFirstChild();
102101
assertText("footnote", paragraph.getFirstChild());
103102
assertText("still", paragraph.getLastChild());
@@ -107,7 +106,7 @@ public void testDefContainsMultipleLines() {
107106
public void testDefContainsList() {
108107
var doc = PARSER.parse("[^1]: - foo\n - bar\n");
109108
var def = find(doc, FootnoteDefinition.class);
110-
assertEquals("1", def.getLabel());
109+
assertThat(def.getLabel()).isEqualTo("1");
111110
var list = (BulletList) def.getFirstChild();
112111
var item1 = (ListItem) list.getFirstChild();
113112
var item2 = (ListItem) list.getLastChild();
@@ -120,54 +119,54 @@ public void testDefInterruptedByOthers() {
120119
var doc = PARSER.parse("[^1]: footnote\n# Heading\n");
121120
var def = find(doc, FootnoteDefinition.class);
122121
var heading = find(doc, Heading.class);
123-
assertEquals("1", def.getLabel());
122+
assertThat(def.getLabel()).isEqualTo("1");
124123
assertText("Heading", heading.getFirstChild());
125124
}
126125

127126
@Test
128127
public void testReference() {
129128
var doc = PARSER.parse("Test [^foo]\n\n[^foo]: /url\n");
130129
var ref = find(doc, FootnoteReference.class);
131-
assertEquals("foo", ref.getLabel());
130+
assertThat(ref.getLabel()).isEqualTo("foo");
132131
}
133132

134133
@Test
135134
public void testReferenceNoDefinition() {
136135
var doc = PARSER.parse("Test [^foo]\n");
137-
assertNull(tryFind(doc, FootnoteReference.class));
136+
assertNone(doc, FootnoteReference.class);
138137
}
139138

140139
@Test
141140
public void testRefWithEmphasisInside() {
142141
// No emphasis inside footnote reference, should just be treated as text
143142
var doc = PARSER.parse("Test [^*foo*]\n\n[^*foo*]: def\n");
144143
var ref = find(doc, FootnoteReference.class);
145-
assertEquals("*foo*", ref.getLabel());
146-
assertNull(ref.getFirstChild());
144+
assertThat(ref.getLabel()).isEqualTo("*foo*");
145+
assertThat(ref.getFirstChild()).isNull();
147146
var paragraph = doc.getFirstChild();
148147
var text = (Text) paragraph.getFirstChild();
149-
assertEquals("Test ", text.getLiteral());
150-
assertEquals(ref, text.getNext());
151-
assertEquals(ref, paragraph.getLastChild());
148+
assertThat(text.getLiteral()).isEqualTo("Test ");
149+
assertThat(text.getNext()).isEqualTo(ref);
150+
assertThat(paragraph.getLastChild()).isEqualTo(ref);
152151
}
153152

154153
@Test
155154
public void testRefWithEmphasisAround() {
156155
// Emphasis around footnote reference, the * inside needs to be removed from emphasis processing
157156
var doc = PARSER.parse("Test *abc [^foo*] def*\n\n[^foo*]: def\n");
158157
var ref = find(doc, FootnoteReference.class);
159-
assertEquals("foo*", ref.getLabel());
158+
assertThat(ref.getLabel()).isEqualTo("foo*");
160159
assertText("abc ", ref.getPrevious());
161160
assertText(" def", ref.getNext());
162161
var em = find(doc, Emphasis.class);
163-
assertEquals(em, ref.getParent());
162+
assertThat(ref.getParent()).isEqualTo(em);
164163
}
165164

166165
@Test
167166
public void testRefAfterBang() {
168167
var doc = PARSER.parse("Test![^foo]\n\n[^foo]: def\n");
169168
var ref = find(doc, FootnoteReference.class);
170-
assertEquals("foo", ref.getLabel());
169+
assertThat(ref.getLabel()).isEqualTo("foo");
171170
var paragraph = doc.getFirstChild();
172171
assertText("Test!", paragraph.getFirstChild());
173172
}
@@ -178,7 +177,7 @@ public void testRefAsLabelOnly() {
178177
// resolve as footnotes. If `[foo][^bar]` fails to parse as a bracket, `[^bar]` by itself needs to be tried.
179178
var doc = PARSER.parse("Test [foo][^bar]\n\n[^bar]: footnote\n");
180179
var ref = find(doc, FootnoteReference.class);
181-
assertEquals("bar", ref.getLabel());
180+
assertThat(ref.getLabel()).isEqualTo("bar");
182181
var paragraph = doc.getFirstChild();
183182
assertText("Test [foo]", paragraph.getFirstChild());
184183
}
@@ -188,7 +187,7 @@ public void testRefWithEmptyLabel() {
188187
// [^bar] is a footnote but [] is just text, because collapsed reference links don't resolve as footnotes
189188
var doc = PARSER.parse("Test [^bar][]\n\n[^bar]: footnote\n");
190189
var ref = find(doc, FootnoteReference.class);
191-
assertEquals("bar", ref.getLabel());
190+
assertThat(ref.getLabel()).isEqualTo("bar");
192191
var paragraph = doc.getFirstChild();
193192
assertText("Test ", paragraph.getFirstChild());
194193
assertText("[]", paragraph.getLastChild());
@@ -198,38 +197,38 @@ public void testRefWithEmptyLabel() {
198197
public void testRefWithBracket() {
199198
// Not a footnote, [ needs to be escaped
200199
var doc = PARSER.parse("Test [^f[oo]\n\n[^f[oo]: /url\n");
201-
assertNull(tryFind(doc, FootnoteReference.class));
200+
assertNone(doc, FootnoteReference.class);
202201
}
203202

204203
@Test
205204
public void testRefWithBackslash() {
206205
var doc = PARSER.parse("[^\\foo]\n\n[^\\foo]: note\n");
207206
var ref = find(doc, FootnoteReference.class);
208-
assertEquals("\\foo", ref.getLabel());
207+
assertThat(ref.getLabel()).isEqualTo("\\foo");
209208
var def = find(doc, FootnoteDefinition.class);
210-
assertEquals("\\foo", def.getLabel());
209+
assertThat(def.getLabel()).isEqualTo("\\foo");
211210
}
212211

213212
@Test
214213
public void testPreferInlineLink() {
215214
var doc = PARSER.parse("Test [^bar](/url)\n\n[^bar]: footnote\n");
216-
assertNull(tryFind(doc, FootnoteReference.class));
215+
assertNone(doc, FootnoteReference.class);
217216
}
218217

219218
@Test
220219
public void testPreferReferenceLink() {
221220
// This is tricky because `[^*foo*][foo]` is a valid link already. If `[foo]` was not defined, the first bracket
222221
// would be a footnote.
223222
var doc = PARSER.parse("Test [^*foo*][foo]\n\n[^*foo*]: /url\n\n[foo]: /url");
224-
assertNull(tryFind(doc, FootnoteReference.class));
223+
assertNone(doc, FootnoteReference.class);
225224
}
226225

227226
@Test
228227
public void testReferenceLinkWithoutDefinition() {
229228
// Similar to previous test but there's no definition
230229
var doc = PARSER.parse("Test [^*foo*][foo]\n\n[^*foo*]: def\n");
231230
var ref = find(doc, FootnoteReference.class);
232-
assertEquals("*foo*", ref.getLabel());
231+
assertThat(ref.getLabel()).isEqualTo("*foo*");
233232
var paragraph = (Paragraph) doc.getFirstChild();
234233
assertText("Test ", paragraph.getFirstChild());
235234
assertText("[foo]", paragraph.getLastChild());
@@ -249,12 +248,12 @@ public void testInlineFootnote() {
249248

250249
{
251250
var doc = parser.parse("Test \\^[not inline footnote]");
252-
assertNull(tryFind(doc, InlineFootnote.class));
251+
assertNone(doc, InlineFootnote.class);
253252
}
254253

255254
{
256255
var doc = parser.parse("Test ^[not inline footnote");
257-
assertNull(tryFind(doc, InlineFootnote.class));
256+
assertNone(doc, InlineFootnote.class);
258257
var t = doc.getFirstChild().getFirstChild();
259258
assertText("Test ^[not inline footnote", t);
260259
}
@@ -269,15 +268,15 @@ public void testInlineFootnote() {
269268
var fn = find(doc, InlineFootnote.class);
270269
assertText("test ", fn.getFirstChild());
271270
var code = fn.getFirstChild().getNext();
272-
assertEquals("bla]", ((Code) code).getLiteral());
271+
assertThat(((Code) code).getLiteral()).isEqualTo("bla]");
273272
}
274273

275274
{
276275
var doc = parser.parse("^[with a [link](url)]");
277276
var fn = find(doc, InlineFootnote.class);
278277
assertText("with a ", fn.getFirstChild());
279278
var link = fn.getFirstChild().getNext();
280-
assertEquals("url", ((Link) link).getDestination());
279+
assertThat(((Link) link).getDestination()).isEqualTo("url");
281280
}
282281
}
283282

@@ -287,10 +286,14 @@ public void testSourcePositions() {
287286

288287
var doc = parser.parse("Test [^foo]\n\n[^foo]: /url\n");
289288
var ref = find(doc, FootnoteReference.class);
290-
assertEquals(ref.getSourceSpans(), List.of(SourceSpan.of(0, 5, 5, 6)));
289+
assertThat(ref.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(0, 5, 5, 6)));
291290

292291
var def = find(doc, FootnoteDefinition.class);
293-
assertEquals(def.getSourceSpans(), List.of(SourceSpan.of(2, 0, 13, 12)));
292+
assertThat(def.getSourceSpans()).isEqualTo(List.of(SourceSpan.of(2, 0, 13, 12)));
293+
}
294+
295+
private static void assertNone(Node parent, Class<?> nodeClass) {
296+
assertThat(tryFind(parent, nodeClass)).as(() -> "Node " + parent + " containing " + nodeClass).isNull();
294297
}
295298

296299
private static <T> T find(Node parent, Class<T> nodeClass) {
@@ -315,6 +318,6 @@ private static <T> List<T> findAll(Node parent, Class<T> nodeClass) {
315318

316319
private static void assertText(String expected, Node node) {
317320
var text = (Text) node;
318-
assertEquals(expected, text.getLiteral());
321+
assertThat(text.getLiteral()).isEqualTo(expected);
319322
}
320323
}

0 commit comments

Comments
 (0)