Skip to content

Commit 1725353

Browse files
committed
Various updates
1 parent d01c1ff commit 1725353

1,260 files changed

Lines changed: 124059 additions & 119261 deletions

File tree

Some content is hidden

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

flexmark-core-test/src/main/java/com/vladsch/flexmark/core/test/util/FormatterSpecTest.java

Lines changed: 102 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -20,109 +20,109 @@
2020
import static com.vladsch.flexmark.formatter.Formatter.RESTORE_TRACKED_SPACES;
2121

2222
public abstract class FormatterSpecTest extends FormatterTranslationSpecTestBase {
23-
public FormatterSpecTest(@NotNull SpecExample example, @Nullable Map<String, ? extends DataHolder> optionMap, @Nullable DataHolder... defaultOptions) {
24-
super(example, optionMap, defaultOptions);
25-
}
26-
27-
@Override
28-
public @NotNull SpecExampleRenderer getSpecExampleRenderer(@NotNull SpecExample example, @Nullable DataHolder exampleOptions) {
29-
DataHolder combinedOptions = aggregate(myDefaultOptions, exampleOptions);
30-
31-
return new FlexmarkSpecExampleRenderer(example, combinedOptions, Parser.builder(combinedOptions).build(), Formatter.builder(combinedOptions).build(), true) {
32-
@NotNull List<TrackedOffset> trackedOffsets = Collections.emptyList();
33-
BasedSequence trackedSequence;
34-
BasedSequence originalSequence;
35-
36-
@Override
37-
public void parse(CharSequence input) {
38-
originalSequence = BasedSequence.of(input);
39-
Pair<BasedSequence, int[]> extractMarkup = TestUtils.extractMarkup(originalSequence);
40-
trackedSequence = extractMarkup.getFirst();
41-
super.parse(trackedSequence.toString());
42-
43-
if (extractMarkup.getSecond().length > 0) {
44-
trackedOffsets = new ArrayList<>(extractMarkup.getSecond().length);
45-
char c = EDIT_OP_CHAR.get(myOptions);
46-
int editOp = EDIT_OP.get(myOptions);
47-
48-
for (int offset : extractMarkup.getSecond()) {
49-
TrackedOffset trackedOffset = TrackedOffset.track(offset, editOp != 0 && c == ' ', editOp > 0, editOp < 0);
50-
51-
trackedOffset.setSpacesBefore(trackedSequence.getBaseSequence().countTrailingSpaceTab(offset));
52-
trackedOffset.setSpacesAfter(trackedSequence.getBaseSequence().countLeadingSpaceTab(offset));
53-
54-
trackedOffsets.add(trackedOffset);
55-
}
56-
57-
Formatter.TRACKED_SEQUENCE.set(getDocument().getDocument(), trackedSequence);
58-
Formatter.TRACKED_OFFSETS.set(getDocument().getDocument(), trackedOffsets);
59-
RESTORE_TRACKED_SPACES.set(getDocument().getDocument(), RESTORE_TRACKED_SPACES.get(myOptions));
60-
}
61-
62-
Formatter.DOCUMENT_FIRST_PREFIX.set(getDocument().getDocument(), Formatter.DOCUMENT_FIRST_PREFIX.get(myOptions));
63-
Formatter.DOCUMENT_PREFIX.set(getDocument().getDocument(), Formatter.DOCUMENT_PREFIX.get(myOptions));
23+
public FormatterSpecTest(@NotNull SpecExample example, @Nullable Map<String, ? extends DataHolder> optionMap, @Nullable DataHolder... defaultOptions) {
24+
super(example, optionMap, defaultOptions);
25+
}
26+
27+
@Override
28+
public @NotNull SpecExampleRenderer getSpecExampleRenderer(@NotNull SpecExample example, @Nullable DataHolder exampleOptions) {
29+
DataHolder combinedOptions = aggregate(myDefaultOptions, exampleOptions);
30+
31+
return new FlexmarkSpecExampleRenderer(example, combinedOptions, Parser.builder(combinedOptions).build(), Formatter.builder(combinedOptions).build(), true) {
32+
@NotNull List<TrackedOffset> trackedOffsets = Collections.emptyList();
33+
BasedSequence trackedSequence;
34+
BasedSequence originalSequence;
35+
36+
@Override
37+
public void parse(CharSequence input) {
38+
originalSequence = BasedSequence.of(input);
39+
Pair<BasedSequence, int[]> extractMarkup = TestUtils.extractMarkup(originalSequence);
40+
trackedSequence = extractMarkup.getFirst();
41+
super.parse(trackedSequence.toString());
42+
43+
if (extractMarkup.getSecond().length > 0) {
44+
trackedOffsets = new ArrayList<>(extractMarkup.getSecond().length);
45+
char c = EDIT_OP_CHAR.get(myOptions);
46+
int editOp = EDIT_OP.get(myOptions);
47+
48+
for (int offset : extractMarkup.getSecond()) {
49+
TrackedOffset trackedOffset = TrackedOffset.track(offset, editOp != 0 && c == ' ', editOp > 0, editOp < 0);
50+
51+
trackedOffset.setSpacesBefore(trackedSequence.getBaseSequence().countTrailingSpaceTab(offset));
52+
trackedOffset.setSpacesAfter(trackedSequence.getBaseSequence().countLeadingSpaceTab(offset));
53+
54+
trackedOffsets.add(trackedOffset);
55+
}
56+
57+
Formatter.TRACKED_SEQUENCE.set(getDocument().getDocument(), trackedSequence);
58+
Formatter.TRACKED_OFFSETS.set(getDocument().getDocument(), trackedOffsets);
59+
RESTORE_TRACKED_SPACES.set(getDocument().getDocument(), RESTORE_TRACKED_SPACES.get(myOptions));
60+
}
61+
62+
Formatter.DOCUMENT_FIRST_PREFIX.set(getDocument().getDocument(), Formatter.DOCUMENT_FIRST_PREFIX.get(myOptions));
63+
Formatter.DOCUMENT_PREFIX.set(getDocument().getDocument(), Formatter.DOCUMENT_PREFIX.get(myOptions));
64+
}
65+
66+
@Override
67+
protected @NotNull String renderHtml() {
68+
if (trackedOffsets.isEmpty() && !SHOW_LINE_RANGES.get(myOptions)) {
69+
return getRenderer().render(getDocument());
70+
} else {
71+
if (SharedDataKeys.RUNNING_TESTS.get(myOptions)) {
72+
System.out.printf("%s:%d%n", myExample.getSection(), myExample.getExampleNumber());
73+
}
74+
75+
SequenceBuilder builder = getDocument().getChars().getBuilder();
76+
getRenderer().render(getDocument(), builder);
77+
String html = builder.toString();
78+
79+
// NOTE: need to get document since the top node is not guaranteed to be a document for generic renderer
80+
List<TrackedOffset> trackedOffsetList = Formatter.TRACKED_OFFSETS.get(getDocument().getDocument());
81+
assert trackedOffsetList.isEmpty() || trackedOffsetList == trackedOffsets;
82+
83+
int[] offsets = new int[trackedOffsets.size()];
84+
int i = 0;
85+
86+
for (TrackedOffset trackedOffset : trackedOffsets) {
87+
if (trackedOffset.isResolved()) {
88+
offsets[i++] = trackedOffset.getIndex();
89+
} else {
90+
System.out.println(String.format("Offset %s is not resolved", trackedOffset.toString()));
6491
}
65-
66-
@Override
67-
protected @NotNull String renderHtml() {
68-
if (trackedOffsets.isEmpty() && !SHOW_LINE_RANGES.get(myOptions)) {
69-
return getRenderer().render(getDocument());
70-
} else {
71-
if (SharedDataKeys.RUNNING_TESTS.get(myOptions)) {
72-
System.out.printf("%s:%d%n", myExample.getSection(), myExample.getExampleNumber());
73-
}
74-
75-
SequenceBuilder builder = getDocument().getChars().getBuilder();
76-
getRenderer().render(getDocument(), builder);
77-
String html = builder.toString();
78-
79-
// NOTE: need to get document since the top node is not guaranteed to be a document for generic renderer
80-
List<TrackedOffset> trackedOffsetList = Formatter.TRACKED_OFFSETS.get(getDocument().getDocument());
81-
assert trackedOffsetList.isEmpty() || trackedOffsetList == trackedOffsets;
82-
83-
int[] offsets = new int[trackedOffsets.size()];
84-
int i = 0;
85-
86-
for (TrackedOffset trackedOffset : trackedOffsets) {
87-
if (trackedOffset.isResolved()) {
88-
offsets[i++] = trackedOffset.getIndex();
89-
} else {
90-
System.out.println(String.format("Offset %s is not resolved", trackedOffset.toString()));
91-
}
92-
}
93-
94-
if (i < offsets.length) {
95-
offsets = Arrays.copyOf(offsets, i);
96-
}
97-
98-
String result = TestUtils.insertCaretMarkup(BasedSequence.of(html), offsets).toString();
99-
100-
if (SHOW_LINE_RANGES.get(myOptions)) {
101-
StringBuilder out = new StringBuilder();
102-
out.append(result);
103-
if (trackedSequence == getDocument().getDocument().getChars()) {
104-
TestUtils.appendBanner(out, TestUtils.bannerText("Ranges"), false);
105-
out.append(builder.toStringWithRanges(false));
106-
} else {
107-
if (!trackedOffsets.isEmpty()) {
108-
TestUtils.appendBanner(out, TestUtils.bannerText("Tracked Offsets"), false);
109-
int i1 = 0;
110-
for (TrackedOffset trackedOffset1 : trackedOffsets) {
111-
out.append("[").append(i1).append("]: ").append(trackedOffset1.toString()).append("\n");
112-
i1++;
113-
}
114-
}
115-
TestUtils.appendBanner(out, TestUtils.bannerText("Ranges"), !trackedOffsets.isEmpty());
116-
BasedSequence sequence = builder.toSequence(trackedSequence);
117-
out.append(sequence.getBuilder().append(sequence).toStringWithRanges(false)).append("\n");
118-
TestUtils.appendBanner(out, TestUtils.bannerText("Segments"), false);
119-
out.append(sequence.getBuilder().append(sequence).getSegmentBuilder().toString());
120-
}
121-
result = out.toString();
122-
}
123-
return result;
92+
}
93+
94+
if (i < offsets.length) {
95+
offsets = Arrays.copyOf(offsets, i);
96+
}
97+
98+
String result = TestUtils.insertCaretMarkup(BasedSequence.of(html), offsets).toString();
99+
100+
if (SHOW_LINE_RANGES.get(myOptions)) {
101+
StringBuilder out = new StringBuilder();
102+
out.append(result);
103+
if (trackedSequence == getDocument().getDocument().getChars()) {
104+
TestUtils.appendBanner(out, TestUtils.bannerText("Ranges"), false);
105+
out.append(builder.toStringWithRanges(false));
106+
} else {
107+
if (!trackedOffsets.isEmpty()) {
108+
TestUtils.appendBanner(out, TestUtils.bannerText("Tracked Offsets"), false);
109+
int i1 = 0;
110+
for (TrackedOffset trackedOffset1 : trackedOffsets) {
111+
out.append("[").append(i1).append("]: ").append(trackedOffset1.toString()).append("\n");
112+
i1++;
124113
}
114+
}
115+
TestUtils.appendBanner(out, TestUtils.bannerText("Ranges"), !trackedOffsets.isEmpty());
116+
BasedSequence sequence = builder.toSequence(trackedSequence);
117+
out.append(sequence.getBuilder().append(sequence).toStringWithRanges(false)).append("\n");
118+
TestUtils.appendBanner(out, TestUtils.bannerText("Segments"), false);
119+
out.append(sequence.getBuilder().append(sequence).getSegmentBuilder().toString());
125120
}
126-
};
127-
}
121+
result = out.toString();
122+
}
123+
return result;
124+
}
125+
}
126+
};
127+
}
128128
}

0 commit comments

Comments
 (0)