diff --git a/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/AbstractOperationBlockMacroTests.java b/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/AbstractOperationBlockMacroTests.java index 46fde7b0..31bbda40 100644 --- a/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/AbstractOperationBlockMacroTests.java +++ b/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/AbstractOperationBlockMacroTests.java @@ -35,6 +35,7 @@ import org.asciidoctor.Attributes; import org.asciidoctor.Options; import org.asciidoctor.OptionsBuilder; import org.asciidoctor.SafeMode; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -64,6 +65,12 @@ public abstract class AbstractOperationBlockMacroTests { prepareOperationSnippets(getBuildOutputLocation()); this.options = OptionsBuilder.options().safe(SafeMode.UNSAFE).baseDir(getSourceLocation()).get(); this.options.setAttributes(getAttributes()); + CapturingLogHandler.clear(); + } + + @After + public void verifyLogging() { + assertThat(CapturingLogHandler.getLogRecords()).isEmpty(); } public void prepareOperationSnippets(File buildOutputLocation) throws IOException { @@ -110,7 +117,8 @@ public abstract class AbstractOperationBlockMacroTests { @Test public void includeSnippetInSection() throws Exception { - String result = this.asciidoctor.convert("== Section\n" + "operation::some-operation[snippets='curl-request']", + String result = this.asciidoctor.convert( + "= A\n\nAlpha\n\n== B\n\nBravo\n\n" + "operation::some-operation[snippets='curl-request']", this.options); assertThat(result).isEqualTo(getExpectedContentFromFile("snippet-in-section")); } diff --git a/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/CapturingLogHandler.java b/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/CapturingLogHandler.java new file mode 100644 index 00000000..f60ce09c --- /dev/null +++ b/spring-restdocs-asciidoctor/src/test/java/org/springframework/restdocs/asciidoctor/CapturingLogHandler.java @@ -0,0 +1,42 @@ +/* + * Copyright 2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.restdocs.asciidoctor; + +import java.util.ArrayList; +import java.util.List; + +import org.asciidoctor.log.LogHandler; +import org.asciidoctor.log.LogRecord; + +public class CapturingLogHandler implements LogHandler { + + private static final List logRecords = new ArrayList(); + + @Override + public void log(LogRecord logRecord) { + logRecords.add(logRecord); + } + + static List getLogRecords() { + return logRecords; + } + + static void clear() { + logRecords.clear(); + } + +} diff --git a/spring-restdocs-asciidoctor/src/test/resources/META-INF/services/org.asciidoctor.log.LogHandler b/spring-restdocs-asciidoctor/src/test/resources/META-INF/services/org.asciidoctor.log.LogHandler new file mode 100644 index 00000000..28aea3ae --- /dev/null +++ b/spring-restdocs-asciidoctor/src/test/resources/META-INF/services/org.asciidoctor.log.LogHandler @@ -0,0 +1 @@ +org.springframework.restdocs.asciidoctor.CapturingLogHandler \ No newline at end of file diff --git a/spring-restdocs-asciidoctor/src/test/resources/operations/snippet-in-section.html b/spring-restdocs-asciidoctor/src/test/resources/operations/snippet-in-section.html index 5c7938ae..0bc6f272 100644 --- a/spring-restdocs-asciidoctor/src/test/resources/operations/snippet-in-section.html +++ b/spring-restdocs-asciidoctor/src/test/resources/operations/snippet-in-section.html @@ -1,8 +1,18 @@ -
-

Section

+
+
+

Alpha

+
+
+
+
+

B

+
+
+

Bravo

+
-

Curl request

+

Curl request

$ curl 'http://localhost:8080/' -i