[DOXIA-616] Fix site integration tests
* Fix integration tests for **doxia-formats** wrt fenced code blocks
* Remove Doxia-specific integration tests
* Add integration tests on the various document formats
* Add integration tests on macro processing
Closes #34
diff --git a/src/it/projects/doxia-formats/src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java b/src/it/projects/doxia-formats/src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java
index ccb5e48..2e0dbec 100644
--- a/src/it/projects/doxia-formats/src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java
+++ b/src/it/projects/doxia-formats/src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java
@@ -21,6 +21,7 @@
import org.apache.velocity.tools.config.DefaultKey;
+// START SNIPPET: macros
@DefaultKey("custom")
public class CustomVelocityTool
{
@@ -28,4 +29,5 @@
{
return "ok";
}
-}
\ No newline at end of file
+}
+// END SNIPPET: macros
diff --git a/src/it/projects/doxia-formats/src/site/apt/apt-macro.apt b/src/it/projects/doxia-formats/src/site/apt/apt-macro.apt
index 1424ecd..e31f8c1 100644
--- a/src/it/projects/doxia-formats/src/site/apt/apt-macro.apt
+++ b/src/it/projects/doxia-formats/src/site/apt/apt-macro.apt
@@ -28,7 +28,6 @@
Macros in APT
-~~ START SNIPPET: macros
* TOC Macro
%{toc}
@@ -39,5 +38,6 @@
* Snippet Macro
-%{snippet|id=macros|file=src/site/apt/apt-macro.apt}
-~~ END SNIPPET: macros
+%{snippet|id=macros|file=src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java}
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/apt/index.apt b/src/it/projects/doxia-formats/src/site/apt/index.apt
index eefc226..ab679c8 100644
--- a/src/it/projects/doxia-formats/src/site/apt/index.apt
+++ b/src/it/projects/doxia-formats/src/site/apt/index.apt
@@ -69,4 +69,6 @@
Java version: 1.8.0_232, vendor: AdoptOpenJDK, runtime: C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre
Default locale: en_US, platform encoding: Cp1250
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
-+--------+
\ No newline at end of file
++--------+
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/apt/velocity-context.apt.vm b/src/it/projects/doxia-formats/src/site/apt/velocity-context.apt.vm
index 5d07fed..122a931 100644
--- a/src/it/projects/doxia-formats/src/site/apt/velocity-context.apt.vm
+++ b/src/it/projects/doxia-formats/src/site/apt/velocity-context.apt.vm
@@ -37,7 +37,7 @@
*-----------------------+-------------------------------------------------------+-----+
#foreach( $key in $sorter.sort( $context.keys ) )
#set( $value = $context.get($key) )
-| <<<$key>>> | <<<#if ($value)$value.class.name#else?#end>>> | #if ($key != "decoration")<<<$value>>>#end |
+| <<<$key>>> | <<<#if ($value)$value.class.name#else?#end>>> | #if ($key != "decoration")<<<$value>>>#end |
*-----------------------+-------------------------------------------------------+-----+
#end
@@ -150,3 +150,5 @@
<<<custom>>> = <<<$custom>>>
<<<custom.test()>>> = <<<$custom.test()>>>
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/apt/velocity-include-parse.apt.vm b/src/it/projects/doxia-formats/src/site/apt/velocity-include-parse.apt.vm
index e2f9076..29816fa 100644
--- a/src/it/projects/doxia-formats/src/site/apt/velocity-include-parse.apt.vm
+++ b/src/it/projects/doxia-formats/src/site/apt/velocity-include-parse.apt.vm
@@ -41,3 +41,5 @@
+---------------+
#include( "../../../pom.xml" )
+---------------+
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/confluence/confluence.confluence b/src/it/projects/doxia-formats/src/site/confluence/confluence.confluence
index d3ba5ec..89c3f06 100644
--- a/src/it/projects/doxia-formats/src/site/confluence/confluence.confluence
+++ b/src/it/projects/doxia-formats/src/site/confluence/confluence.confluence
@@ -31,3 +31,5 @@
** Other
Example from [https://confluence.atlassian.com/display/CONF25/Confluence+Notation+Guide+Overview]
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/docbook/docbook.xml b/src/it/projects/doxia-formats/src/site/docbook/docbook.xml
index 43c7b1c..a5d77f2 100644
--- a/src/it/projects/doxia-formats/src/site/docbook/docbook.xml
+++ b/src/it/projects/doxia-formats/src/site/docbook/docbook.xml
@@ -50,7 +50,7 @@
<sect1><title>Section 2</title>
<para>
- blah blah blah
+ Content for verify.groovy
</para>
</sect1>
</article>
diff --git a/src/it/projects/doxia-formats/src/site/fml/faq-macro.fml b/src/it/projects/doxia-formats/src/site/fml/faq-macro.fml
index 6c23728..b872133 100644
--- a/src/it/projects/doxia-formats/src/site/fml/faq-macro.fml
+++ b/src/it/projects/doxia-formats/src/site/fml/faq-macro.fml
@@ -25,7 +25,6 @@
<part id="Macros in FML">
<title>Macros in FML</title>
- <!-- START SNIPPET: macros -->
<faq id="TOC">
<question>Is TOC Macro supported?</question>
<answer>
@@ -49,12 +48,11 @@
<answer>
<macro name="snippet">
<param name="id" value="macros"/>
- <param name="file" value="src/site/fml/faq-macro.fml"/>
+ <param name="file" value="src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java" />
</macro>
+ <p>Content for verify.groovy</p>
</answer>
</faq>
- <!-- END SNIPPET: macros -->
</part>
</faqs>
-
diff --git a/src/it/projects/doxia-formats/src/site/fml/faq.fml b/src/it/projects/doxia-formats/src/site/fml/faq.fml
index de6bb49..8eefc97 100644
--- a/src/it/projects/doxia-formats/src/site/fml/faq.fml
+++ b/src/it/projects/doxia-formats/src/site/fml/faq.fml
@@ -50,10 +50,10 @@
Test nested <code><source></source></code> tags (DOXIA-16):
</p>
<source><![CDATA[<source>1.5</source>]]></source>
+ <p>Content for verify.groovy</p>
</answer>
</faq>
</part>
</faqs>
-
diff --git a/src/it/projects/doxia-formats/src/site/markdown/markdown-macro.md b/src/it/projects/doxia-formats/src/site/markdown/markdown-macro.md
index 561cd46..20c12a7 100644
--- a/src/it/projects/doxia-formats/src/site/markdown/markdown-macro.md
+++ b/src/it/projects/doxia-formats/src/site/markdown/markdown-macro.md
@@ -20,7 +20,6 @@
Macros in Markdown
----------------
-<!-- START SNIPPET: macros -->
### TOC Macro
<!-- MACRO{toc} -->
@@ -31,5 +30,6 @@
### Snippet Macro
-<!-- MACRO{snippet|id=macros|file=src/site/markdown/markdown-macro.md} -->
-<!-- END SNIPPET: macros -->
+<!-- MACRO{snippet|id=macros|file=src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java} -->
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/markdown/markdown.md b/src/it/projects/doxia-formats/src/site/markdown/markdown.md
index a40978c..21c9d60 100644
--- a/src/it/projects/doxia-formats/src/site/markdown/markdown.md
+++ b/src/it/projects/doxia-formats/src/site/markdown/markdown.md
@@ -17,26 +17,14 @@
under the License.
-->
-
Markdown Format works
----------------
-
-But 'quotes' and "double quotes" were stripped from HTML result with DOXIA 1.3:
-see [DOXIA-473](https://issues.apache.org/jira/browse/DOXIA-473).
+=====================
<!-- MACRO{toc|fromDepth=1|toDepth=2} -->
-### Subsection
+Subsection
+----------
-Missing `monospaced` support [DOXIA-597](https://issues.apache.org/jira/browse/DOXIA-597)
+This is a subsection.
-Missing code block color [DOXIA-571](https://issues.apache.org/jira/browse/DOXIA-571):
-
-```
-code block
-Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
-Maven home: D:\apache-maven-3.6.3\apache-maven\bin\..
-Java version: 1.8.0_232, vendor: AdoptOpenJDK, runtime: C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jre
-Default locale: en_US, platform encoding: Cp1250
-OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
-```
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/markdown/markdown2-macro.markdown b/src/it/projects/doxia-formats/src/site/markdown/markdown2-macro.markdown
deleted file mode 100644
index 561cd46..0000000
--- a/src/it/projects/doxia-formats/src/site/markdown/markdown2-macro.markdown
+++ /dev/null
@@ -1,35 +0,0 @@
-<!---
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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
-
- http://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.
--->
-
-Macros in Markdown
-----------------
-
-<!-- START SNIPPET: macros -->
-### TOC Macro
-
-<!-- MACRO{toc} -->
-
-### Echo Macro
-
-<!-- MACRO{echo|param1=value1|param2=value2} -->
-
-### Snippet Macro
-
-<!-- MACRO{snippet|id=macros|file=src/site/markdown/markdown-macro.md} -->
-<!-- END SNIPPET: macros -->
diff --git a/src/it/projects/doxia-formats/src/site/markdown/markdown2.markdown b/src/it/projects/doxia-formats/src/site/markdown/markdown2.markdown
index 7f25ec4..053216a 100644
--- a/src/it/projects/doxia-formats/src/site/markdown/markdown2.markdown
+++ b/src/it/projects/doxia-formats/src/site/markdown/markdown2.markdown
@@ -17,13 +17,12 @@
under the License.
-->
-
-Markdown Format works
----------------
-
-But 'quotes' and "double quotes" were stripped from HTML result with DOXIA 1.3:
-see [DOXIA-473](https://issues.apache.org/jira/browse/DOXIA-473).
+# Markdown Format works
<!-- MACRO{toc|fromDepth=1|toDepth=2} -->
-### Subsection
+## Subsection
+
+This is the subsection.
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/twiki/twiki.twiki b/src/it/projects/doxia-formats/src/site/twiki/twiki.twiki
index d235934..1c9876d 100644
--- a/src/it/projects/doxia-formats/src/site/twiki/twiki.twiki
+++ b/src/it/projects/doxia-formats/src/site/twiki/twiki.twiki
@@ -20,4 +20,6 @@
* level 1
* level 2
* back on 1
- * last bullet
\ No newline at end of file
+ * last bullet
+
+Content for verify.groovy
diff --git a/src/it/projects/doxia-formats/src/site/xdoc/xdoc-macro.xml b/src/it/projects/doxia-formats/src/site/xdoc/xdoc-macro.xml
index 711dd89..e2bfef2 100644
--- a/src/it/projects/doxia-formats/src/site/xdoc/xdoc-macro.xml
+++ b/src/it/projects/doxia-formats/src/site/xdoc/xdoc-macro.xml
@@ -27,7 +27,6 @@
</properties>
<body>
<section name="Macros in Xdoc">
- <!-- START SNIPPET: macros -->
<subsection name="TOC">
<macro name="toc">
</macro>
@@ -41,10 +40,10 @@
<subsection name="Snippet">
<macro name="snippet">
<param name="id" value="macros"/>
- <param name="file" value="src/site/xdoc/xdoc-macro.xml"/>
+ <param name="file" value="src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java" />
</macro>
+ <p>Content for verify.groovy</p>
</subsection>
- <!-- END SNIPPET: macros -->
</section>
</body>
</document>
diff --git a/src/it/projects/doxia-formats/src/site/xdoc/xdoc.xml b/src/it/projects/doxia-formats/src/site/xdoc/xdoc.xml
index 230293f..0cdec6d 100644
--- a/src/it/projects/doxia-formats/src/site/xdoc/xdoc.xml
+++ b/src/it/projects/doxia-formats/src/site/xdoc/xdoc.xml
@@ -129,6 +129,8 @@
<p>Copyright symbol: © © ©.</p>
+ <p>Content for verify.groovy</p>
+
</subsection>
</section>
diff --git a/src/it/projects/doxia-formats/src/site/xhtml/xhtml-macro.xhtml b/src/it/projects/doxia-formats/src/site/xhtml/xhtml-macro.xhtml
index eaf8e78..48c8480 100644
--- a/src/it/projects/doxia-formats/src/site/xhtml/xhtml-macro.xhtml
+++ b/src/it/projects/doxia-formats/src/site/xhtml/xhtml-macro.xhtml
@@ -31,7 +31,6 @@
<h2>Macros in XHTML</h2>
-<!-- START SNIPPET: macros -->
<h3>TOC Macro</h3>
<!-- MACRO{toc} -->
@@ -42,8 +41,9 @@
<h3>Snippet Macro</h3>
-<!-- MACRO{snippet|id=macros|file=src/site/xhtml/xhtml-macro.xhtml} -->
-<!-- END SNIPPET: macros -->
+<!-- MACRO{snippet|id=macros|file=src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java} -->
+
+<p>Content for verify.groovy</p>
</body>
diff --git a/src/it/projects/doxia-formats/src/site/xhtml/xhtml.xhtml b/src/it/projects/doxia-formats/src/site/xhtml/xhtml.xhtml
index 886672c..c2c0131 100644
--- a/src/it/projects/doxia-formats/src/site/xhtml/xhtml.xhtml
+++ b/src/it/projects/doxia-formats/src/site/xhtml/xhtml.xhtml
@@ -145,6 +145,8 @@
</div></div></div></div></div>
+<p>Content for verify.groovy</p>
+
</body>
</html>
diff --git a/src/it/projects/doxia-formats/verify.groovy b/src/it/projects/doxia-formats/verify.groovy
index fd5299b..6b2f273 100644
--- a/src/it/projects/doxia-formats/verify.groovy
+++ b/src/it/projects/doxia-formats/verify.groovy
@@ -18,32 +18,55 @@
* under the License.
*/
-content = new File( basedir, 'target/site/markdown.html' ).text;
+// These files must have been generated
+[
+ 'apt-macro.html',
+ 'index.html',
+ 'velocity-context.html',
+ 'velocity-include-parse.html',
+ 'confluence.html',
+ 'docbook.html',
+ 'faq-macro.html',
+ 'faq.html',
+ 'markdown-macro.html',
+ 'markdown.html',
+ 'markdown2.html',
+ 'twiki.html',
+ 'xdoc.html',
+ 'xdoc-macro.html',
+ 'xhtml.html',
+ 'xhtml-macro.html'
+].each {
-assert content.contains( 'Markdown Format works' );
+ // File exists
+ def verifiedFile = new File( basedir, "target/site/$it" )
+ assert verifiedFile.exists() : "$it must have been generated"
-assert !content.contains( ' quotes and double quotes were stripped' ); // DOXIA-473
-assert content.contains( '<code>monospaced</code> support' ); // DOXIA-597
-assert content.contains( '<div class="source"><pre class="prettyprint linenums">code block' ); // DOXIA-571
+ // File contains the content marker 'Content for verify.groovy'
+ def verifiedContent = verifiedFile.text
+ assert verifiedContent.contains( 'Content for verify.groovy' ) :
+ "$it must have content from the source ('Content for verify.groovy')"
-assert !content.contains( 'MACRO' );
-assert content.contains( 'href="#Subsection"' );
+ // File does NOT contain the path to the source file referenced by the SNIPPET macro.
+ // This means that the SNIPPET macro has been properly processed.
+ // This test can be run in all files produced, even those with no macros.
+ assert !verifiedContent.contains( 'src/main/java/org/apache/maven/plugins/site/it/CustomVelocityTool.java' ) :
+ "Macros must have been processed in $it and SNIPPET source file path removed"
-ignore = new File( basedir, 'target/site/ignore.txt' );
-assert !ignore.exists();
+}
-velocity = new File( basedir, 'target/generated-site/processed/velocity-context.apt' );
-assert velocity.exists();
-content = velocity.text;
+// ignore.txt must NOT have been generated
+assert !( new File( basedir, 'target/site/ignore.txt' ).exists() ) :
+ "ignore.txt does not end up in the generated content"
+assert !( new File( basedir, 'target/site/ignore.html' ).exists() ) :
+ "ignore.txt does not produce ignore.html"
-assert content.contains( '= <<<val1>>>' ); // MSITE-550
+// .vm files must have been processed with Velocity
+def velocity = new File( basedir, 'target/generated-site/processed/velocity-context.apt' )
+assert velocity.exists() : "*.vm files must be processed with Velocity and stored in target/generated-site"
-assert !content.replace('<<<$value', '').contains( '<<<$' );
+def content = velocity.text
+assert content.contains( '= <<<val1>>>' ) : "Velocity-processed content must conform to MSITE-550"
-assert new File( basedir, 'target/site/markdown2.html' ).exists(); // DOXIA-535
-
-assert new File( basedir, 'target/site/confluence.html' ).exists(); // MSITE-838
-assert new File( basedir, 'target/site/docbook.html' ).exists(); //MSITE-838
-assert new File( basedir, 'target/site/twiki.html' ).exists(); //MSITE-838
-
-return true;
+assert !( content.replace('<<<$value', '').contains( '<<<$' ) ) :
+ 'Velocity-processed content must not contain any veloci-macro reference'