Escape reserved asciidoc character in generated documentation

See gh-17663
This commit is contained in:
vivganes
2019-07-31 10:06:38 +02:00
committed by Stephane Nicoll
parent d9826759b9
commit b0fa58e861
2 changed files with 15 additions and 1 deletions
@@ -76,7 +76,7 @@ class SingleConfigurationTableEntry extends ConfigurationTableEntry {
builder.append("|");
}
else {
builder.append("|+++", this.description, "+++");
builder.append("|+++", this.description.replace("|", "\\|"), "+++");
}
}
@@ -86,6 +86,20 @@ class SingleConfigurationTableEntryTests {
+ "|+++This is a description.+++" + NEWLINE);
}
@Test
void descriptionWithPipe() {
ConfigurationMetadataProperty property = new ConfigurationMetadataProperty();
property.setId("spring.test.prop");
property.setDefaultValue("first\\second");
property.setDescription("This is a description with a | pipe.");
property.setType("java.lang.String");
SingleConfigurationTableEntry entry = new SingleConfigurationTableEntry(property);
AsciidocBuilder builder = new AsciidocBuilder();
entry.write(builder);
assertThat(builder.toString()).isEqualTo("|`+spring.test.prop+`" + NEWLINE + "|`+first\\\\second+`" + NEWLINE
+ "|+++This is a description with a \\| pipe.+++" + NEWLINE);
}
@Test
void mapProperty() {
ConfigurationMetadataProperty property = new ConfigurationMetadataProperty();