Skip to content

Commit 1d4515e

Browse files
committed
Merge pull request #29 from atlassian/issue-28-spec-updates
Update to CommonMark spec 0.24
2 parents 265b4ac + c7c1370 commit 1d4515e

16 files changed

Lines changed: 2442 additions & 1632 deletions

File tree

commonmark-ext-gfm-tables/src/main/java/org/commonmark/ext/gfm/tables/internal/TableBlockParser.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,14 @@ public static class Factory extends AbstractBlockParserFactory {
157157
@Override
158158
public BlockStart tryStart(ParserState state, MatchedBlockParser matchedBlockParser) {
159159
CharSequence line = state.getLine();
160-
CharSequence paragraphStartLine = matchedBlockParser.getParagraphStartLine();
161-
if (paragraphStartLine != null && paragraphStartLine.toString().contains("|")) {
160+
CharSequence paragraph = matchedBlockParser.getParagraphContent();
161+
if (paragraph != null && paragraph.toString().contains("|") && !paragraph.toString().contains("\n")) {
162162
CharSequence separatorLine = line.subSequence(state.getIndex(), line.length());
163163
if (TABLE_HEADER_SEPARATOR.matcher(separatorLine).matches()) {
164-
List<String> headParts = split(paragraphStartLine);
164+
List<String> headParts = split(paragraph);
165165
List<String> separatorParts = split(separatorLine);
166166
if (separatorParts.size() >= headParts.size()) {
167-
return BlockStart.of(new TableBlockParser(paragraphStartLine))
167+
return BlockStart.of(new TableBlockParser(paragraph))
168168
.atIndex(state.getIndex())
169169
.replaceActiveBlockParser();
170170
}

commonmark-ext-gfm-tables/src/test/java/org/commonmark/ext/gfm/tables/TablesTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public void separatorCanNotHaveLeadingSpaceThenPipe() {
3232
assertRendering("Abc|Def\n |---|---", "<p>Abc|Def\n|---|---</p>\n");
3333
}
3434

35+
@Test
36+
public void headerMustBeOneLine() {
37+
assertRendering("No\nAbc|Def\n---|---", "<p>No\nAbc|Def\n---|---</p>\n");
38+
}
39+
3540
@Test
3641
public void oneHeadNoBody() {
3742
assertRendering("Abc|Def\n---|---", "<table>\n" +

commonmark-test-util/src/main/java/org/commonmark/spec/SpecReader.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,20 @@ private List<SpecExample> read() throws IOException {
8282
}
8383

8484
private void processLine(String line) {
85-
boolean dot = line.equals(".");
8685
switch (state) {
8786
case BEFORE:
8887
Matcher matcher = SECTION_PATTERN.matcher(line);
8988
if (matcher.matches()) {
9089
section = matcher.group(1);
9190
exampleNumber = 0;
9291
}
93-
if (dot) {
92+
if (line.equals("```````````````````````````````` example")) {
9493
state = State.SOURCE;
9594
exampleNumber++;
9695
}
9796
break;
9897
case SOURCE:
99-
if (dot) {
98+
if (line.equals(".")) {
10099
state = State.HTML;
101100
} else {
102101
// examples use "rightwards arrow" to show tab
@@ -105,7 +104,7 @@ private void processLine(String line) {
105104
}
106105
break;
107106
case HTML:
108-
if (dot) {
107+
if (line.equals("````````````````````````````````")) {
109108
state = State.BEFORE;
110109
examples.add(new SpecExample(section, exampleNumber,
111110
source.toString(), html.toString()));

0 commit comments

Comments
 (0)