aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2015-11-03 19:36:48 +0100
committerDmitry Jemerov <yole@jetbrains.com>2015-11-03 19:36:48 +0100
commitf724ba6fc6cddfe09015b5ee1d66122c158f11ba (patch)
tree851dedb47d0a9915fcee949d5cd11f316fab7299 /test
parent6813d65272284b3aaa37907f7c23b3c01ed6f526 (diff)
downloaddokka-f724ba6fc6cddfe09015b5ee1d66122c158f11ba.tar.gz
build Kotlin documentation for Java files based on descriptors
Diffstat (limited to 'test')
-rw-r--r--test/data/format/javaCodeInParam.java2
-rw-r--r--test/data/format/javaCodeInParam.md10
-rw-r--r--test/data/format/javaCodeLiteralTags.java2
-rw-r--r--test/data/format/javaCodeLiteralTags.md10
-rw-r--r--test/data/format/javaDeprecated.html6
-rw-r--r--test/data/format/javaDeprecated.java2
-rw-r--r--test/data/format/javaLinkTag.html21
-rw-r--r--test/data/format/javaLinkTag.java2
-rw-r--r--test/data/format/javaLinkTagWithLabel.html21
-rw-r--r--test/data/format/javaLinkTagWithLabel.java2
-rw-r--r--test/data/format/javaSeeTag.html19
-rw-r--r--test/data/format/javaSeeTag.java4
-rw-r--r--test/data/format/javaSpaceInAuthor.java2
-rw-r--r--test/data/format/javaSpaceInAuthor.md10
-rw-r--r--test/data/format/javaSupertype.html21
-rw-r--r--test/data/format/javaSupertype.java2
-rw-r--r--test/data/format/javadocHtml.java2
-rw-r--r--test/data/format/javadocHtml.md8
-rw-r--r--test/data/format/javadocOrderedList.java2
-rw-r--r--test/data/format/javadocOrderedList.md8
-rw-r--r--test/data/java/annotatedAnnotation.java3
-rw-r--r--test/data/java/arrayType.java2
-rw-r--r--test/data/java/constructors.java2
-rw-r--r--test/data/java/deprecation.java7
-rw-r--r--test/data/java/enumValues.java2
-rw-r--r--test/data/java/field.java2
-rw-r--r--test/data/java/inheritorLinks.java2
-rw-r--r--test/data/java/innerClass.java2
-rw-r--r--test/data/java/javaLangObject.java2
-rw-r--r--test/data/java/member.java2
-rw-r--r--test/data/java/memberWithModifiers.java4
-rw-r--r--test/data/java/staticMethod.java2
-rw-r--r--test/data/java/superClass.java2
-rw-r--r--test/data/java/typeParameter.java2
-rw-r--r--test/data/java/varargs.java2
-rw-r--r--test/src/TestAPI.kt56
-rw-r--r--test/src/format/HtmlFormatTest.kt10
-rw-r--r--test/src/format/MarkdownFormatTest.kt10
-rw-r--r--test/src/model/JavaTest.kt69
39 files changed, 199 insertions, 140 deletions
diff --git a/test/data/format/javaCodeInParam.java b/test/data/format/javaCodeInParam.java
index d1cdf6cd4..73025fcc9 100644
--- a/test/data/format/javaCodeInParam.java
+++ b/test/data/format/javaCodeInParam.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* @param T this is {@code some code} and other text
*/
diff --git a/test/data/format/javaCodeInParam.md b/test/data/format/javaCodeInParam.md
index 88cb6912f..b1d2d871a 100644
--- a/test/data/format/javaCodeInParam.md
+++ b/test/data/format/javaCodeInParam.md
@@ -1,9 +1,9 @@
-[test](test/index) / [test](test/test/index) / [C](test/test/-c)
+[test](test/index) / [C](test/-c/index)
# C
-`open class C&lt;T&gt;`
+`protected open class C&lt;T&nbsp;:&nbsp;Any&gt;`
@@ -13,3 +13,9 @@
`T` - this is `some code` and other text
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/test/data/format/javaCodeLiteralTags.java b/test/data/format/javaCodeLiteralTags.java
index cf071f078..e71ddaa70 100644
--- a/test/data/format/javaCodeLiteralTags.java
+++ b/test/data/format/javaCodeLiteralTags.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* <p>{@code A<B>C}</p>
* <p>{@literal A<B>C}</p>
diff --git a/test/data/format/javaCodeLiteralTags.md b/test/data/format/javaCodeLiteralTags.md
index 17438bff6..83c9cc334 100644
--- a/test/data/format/javaCodeLiteralTags.md
+++ b/test/data/format/javaCodeLiteralTags.md
@@ -1,9 +1,9 @@
-[test](test/index) / [test](test/test/index) / [C](test/test/-c)
+[test](test/index) / [C](test/-c/index)
# C
-`open class C`
+`protected open class C`
`A&lt;B&gt;C`
@@ -15,3 +15,9 @@ A&lt;B&gt;C
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/test/data/format/javaDeprecated.html b/test/data/format/javaDeprecated.html
index 9e8958a29..236c6490c 100644
--- a/test/data/format/javaDeprecated.html
+++ b/test/data/format/javaDeprecated.html
@@ -1,13 +1,13 @@
<HTML>
<HEAD>
-<title>test / test.Foo.foo</title>
+<title>test / Foo.foo</title>
</HEAD>
<BODY>
-<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-foo/index">Foo</a>&nbsp;/&nbsp;<a href="test/test/-foo/foo">foo</a><br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a>&nbsp;/&nbsp;<a href="test/-foo/foo">foo</a><br/>
<br/>
<h1>foo</h1>
<code><span class="keyword">open</span> <span class="keyword">fun </span><s><span class="identifier">foo</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
-<strong>Deprecated:</strong> use <code><a href="test/test/-foo/bar">#bar</a></code> instead <p></p>
+<strong>Deprecated:</strong> use <code><a href="test/-foo/bar">#bar</a></code> instead <p></p>
<br/>
<br/>
</BODY>
diff --git a/test/data/format/javaDeprecated.java b/test/data/format/javaDeprecated.java
index 4216f2052..9694a4441 100644
--- a/test/data/format/javaDeprecated.java
+++ b/test/data/format/javaDeprecated.java
@@ -1,5 +1,3 @@
-package test;
-
class Foo {
/** @deprecated use {@link #bar} instead */
public void foo() {}
diff --git a/test/data/format/javaLinkTag.html b/test/data/format/javaLinkTag.html
index af63710d2..1b6921ab1 100644
--- a/test/data/format/javaLinkTag.html
+++ b/test/data/format/javaLinkTag.html
@@ -1,21 +1,32 @@
<HTML>
<HEAD>
-<title>test / test.Foo</title>
+<title>test / Foo</title>
</HEAD>
<BODY>
-<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-foo/index">Foo</a><br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
<br/>
<h1>Foo</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
-<p>Call <code><a href="test/test/-foo/bar">#bar()</a></code> to do the job. </p>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
+<p>Call <code><a href="test/-foo/bar">#bar()</a></code> to do the job. </p>
<br/>
<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
-<a href="test/test/-foo/bar">bar</a></td>
+<a href="test/-foo/bar">bar</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
diff --git a/test/data/format/javaLinkTag.java b/test/data/format/javaLinkTag.java
index 06452f160..84f761c6f 100644
--- a/test/data/format/javaLinkTag.java
+++ b/test/data/format/javaLinkTag.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* Call {@link #bar()} to do the job.
*/
diff --git a/test/data/format/javaLinkTagWithLabel.html b/test/data/format/javaLinkTagWithLabel.html
index ccf3c7125..aabfbc585 100644
--- a/test/data/format/javaLinkTagWithLabel.html
+++ b/test/data/format/javaLinkTagWithLabel.html
@@ -1,21 +1,32 @@
<HTML>
<HEAD>
-<title>test / test.Foo</title>
+<title>test / Foo</title>
</HEAD>
<BODY>
-<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-foo/index">Foo</a><br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
<br/>
<h1>Foo</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
-<p>Call <code><a href="test/test/-foo/bar">this wonderful method</a></code> to do the job. </p>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
+<p>Call <code><a href="test/-foo/bar">this wonderful method</a></code> to do the job. </p>
<br/>
<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
-<a href="test/test/-foo/bar">bar</a></td>
+<a href="test/-foo/bar">bar</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
diff --git a/test/data/format/javaLinkTagWithLabel.java b/test/data/format/javaLinkTagWithLabel.java
index 7226f1c9f..1db5ad703 100644
--- a/test/data/format/javaLinkTagWithLabel.java
+++ b/test/data/format/javaLinkTagWithLabel.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* Call {@link #bar() this wonderful method} to do the job.
*/
diff --git a/test/data/format/javaSeeTag.html b/test/data/format/javaSeeTag.html
index cf7b7941c..a6813df3f 100644
--- a/test/data/format/javaSeeTag.html
+++ b/test/data/format/javaSeeTag.html
@@ -1,23 +1,34 @@
<HTML>
<HEAD>
-<title>test / test.Foo</title>
+<title>test / Foo</title>
</HEAD>
<BODY>
-<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-foo/index">Foo</a><br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
<br/>
<h1>Foo</h1>
<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
<p></p>
<strong>See Also</strong><br/>
-<a href="test/test/-foo/bar">#bar</a><br/>
+<a href="test/-foo/bar">#bar</a><br/>
<br/>
<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
-<a href="test/test/-foo/bar">bar</a></td>
+<a href="test/-foo/bar">bar</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
diff --git a/test/data/format/javaSeeTag.java b/test/data/format/javaSeeTag.java
index e0b95f11a..94a24606d 100644
--- a/test/data/format/javaSeeTag.java
+++ b/test/data/format/javaSeeTag.java
@@ -1,8 +1,6 @@
-package test;
-
/**
* @see #bar
*/
-class Foo {
+public class Foo {
public void bar() {}
} \ No newline at end of file
diff --git a/test/data/format/javaSpaceInAuthor.java b/test/data/format/javaSpaceInAuthor.java
index b96f58845..f980ae07c 100644
--- a/test/data/format/javaSpaceInAuthor.java
+++ b/test/data/format/javaSpaceInAuthor.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* @author Dmitry Jemerov
*/
diff --git a/test/data/format/javaSpaceInAuthor.md b/test/data/format/javaSpaceInAuthor.md
index 425d4c9a1..4d19ed01a 100644
--- a/test/data/format/javaSpaceInAuthor.md
+++ b/test/data/format/javaSpaceInAuthor.md
@@ -1,9 +1,9 @@
-[test](test/index) / [test](test/test/index) / [C](test/test/-c)
+[test](test/index) / [C](test/-c/index)
# C
-`open class C`
+`protected open class C`
@@ -11,3 +11,9 @@
Dmitry Jemerov
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/test/data/format/javaSupertype.html b/test/data/format/javaSupertype.html
index 2bcc2fce2..4c8472815 100644
--- a/test/data/format/javaSupertype.html
+++ b/test/data/format/javaSupertype.html
@@ -1,22 +1,33 @@
<HTML>
<HEAD>
-<title>test / test.C.Bar</title>
+<title>test / C.Bar</title>
</HEAD>
<BODY>
-<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-c/index">C</a>&nbsp;/&nbsp;<a href="test/test/-c/-bar/index">Bar</a><br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-c/index">C</a>&nbsp;/&nbsp;<a href="test/-c/-bar/index">Bar</a><br/>
<br/>
<h1>Bar</h1>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/test/-c/-foo"><span class="identifier">Foo</span></a></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/-c/-foo/index"><span class="identifier">Foo</span></a></code><br/>
<br/>
<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-c/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
-<a href="test/test/-c/-bar/return-foo">returnFoo</a></td>
+<a href="test/-c/-bar/return-foo">returnFoo</a></td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">returnFoo</span><span class="symbol">(</span><span class="identifier">foo</span><span class="symbol">:</span>&nbsp;<a href="test/test/-c/-foo"><span class="identifier">Foo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="test/test/-c/-foo"><span class="identifier">Foo</span></a></code></td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">returnFoo</span><span class="symbol">(</span><span class="identifier">foo</span><span class="symbol">:</span>&nbsp;<a href="test/-c/-foo/index"><span class="identifier">Foo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="test/-c/-foo/index"><span class="identifier">Foo</span></a></code></td>
</tr>
</tbody>
</table>
diff --git a/test/data/format/javaSupertype.java b/test/data/format/javaSupertype.java
index 295c319ff..b3142ff64 100644
--- a/test/data/format/javaSupertype.java
+++ b/test/data/format/javaSupertype.java
@@ -1,5 +1,3 @@
-package test;
-
class C {
public static class Foo {
}
diff --git a/test/data/format/javadocHtml.java b/test/data/format/javadocHtml.java
index bcb2cf910..622116b28 100644
--- a/test/data/format/javadocHtml.java
+++ b/test/data/format/javadocHtml.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* <b>Bold</b>
* <strong>Strong</strong>
diff --git a/test/data/format/javadocHtml.md b/test/data/format/javadocHtml.md
index a75ebf35c..db71cc3b3 100644
--- a/test/data/format/javadocHtml.md
+++ b/test/data/format/javadocHtml.md
@@ -1,4 +1,4 @@
-[test](test/index) / [test](test/test/index) / [C](test/test/-c)
+[test](test/index) / [C](test/-c/index)
# C
@@ -19,3 +19,9 @@ Block code
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/test/data/format/javadocOrderedList.java b/test/data/format/javadocOrderedList.java
index 1c7f8a3e2..c32d9032a 100644
--- a/test/data/format/javadocOrderedList.java
+++ b/test/data/format/javadocOrderedList.java
@@ -1,5 +1,3 @@
-package test;
-
/**
* <ol>
* <li>Rinse</li>
diff --git a/test/data/format/javadocOrderedList.md b/test/data/format/javadocOrderedList.md
index acd3e8096..02a3c095c 100644
--- a/test/data/format/javadocOrderedList.md
+++ b/test/data/format/javadocOrderedList.md
@@ -1,4 +1,4 @@
-[test](test/index) / [test](test/test/index) / [Bar](test/test/-bar)
+[test](test/index) / [Bar](test/-bar/index)
# Bar
@@ -12,3 +12,9 @@
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+
diff --git a/test/data/java/annotatedAnnotation.java b/test/data/java/annotatedAnnotation.java
index d9fae9569..6296e4002 100644
--- a/test/data/java/annotatedAnnotation.java
+++ b/test/data/java/annotatedAnnotation.java
@@ -1,6 +1,5 @@
-package test;
+import java.lang.annotation.*;
-@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE, ElementType.METHOD})
public @interface Attribute {
String value() default "";
diff --git a/test/data/java/arrayType.java b/test/data/java/arrayType.java
index a50e3bf6d..dc42a2077 100644
--- a/test/data/java/arrayType.java
+++ b/test/data/java/arrayType.java
@@ -1,5 +1,3 @@
-package test;
-
class Test {
public String[] arrayToString(int[] data) {
return null;
diff --git a/test/data/java/constructors.java b/test/data/java/constructors.java
index 3b1838ddc..6f899d182 100644
--- a/test/data/java/constructors.java
+++ b/test/data/java/constructors.java
@@ -1,5 +1,3 @@
-package test;
-
class Test {
public Test() {}
diff --git a/test/data/java/deprecation.java b/test/data/java/deprecation.java
index 07cbd901d..be8decd6e 100644
--- a/test/data/java/deprecation.java
+++ b/test/data/java/deprecation.java
@@ -1,5 +1,6 @@
-package test;
-
class C {
- @Deprecated("This should no longer be used") void fn() {}
+ /**
+ * @deprecated This should no longer be used
+ */
+ void fn() {}
} \ No newline at end of file
diff --git a/test/data/java/enumValues.java b/test/data/java/enumValues.java
index 0f622946f..d8dda934a 100644
--- a/test/data/java/enumValues.java
+++ b/test/data/java/enumValues.java
@@ -1,5 +1,3 @@
-package test;
-
enum E {
Foo
} \ No newline at end of file
diff --git a/test/data/java/field.java b/test/data/java/field.java
index 47dac0a47..d9ae75f90 100644
--- a/test/data/java/field.java
+++ b/test/data/java/field.java
@@ -1,5 +1,3 @@
-package test;
-
class Test {
public int i;
public static final String s;
diff --git a/test/data/java/inheritorLinks.java b/test/data/java/inheritorLinks.java
index 96caeb1d8..2378f5c6b 100644
--- a/test/data/java/inheritorLinks.java
+++ b/test/data/java/inheritorLinks.java
@@ -1,5 +1,3 @@
-package test;
-
class C {
public static class Foo {
}
diff --git a/test/data/java/innerClass.java b/test/data/java/innerClass.java
index dd08e1003..0f1be9486 100644
--- a/test/data/java/innerClass.java
+++ b/test/data/java/innerClass.java
@@ -1,5 +1,3 @@
-package test;
-
class Test {
public class D {
}
diff --git a/test/data/java/javaLangObject.java b/test/data/java/javaLangObject.java
index 8f16629c2..be3dd5708 100644
--- a/test/data/java/javaLangObject.java
+++ b/test/data/java/javaLangObject.java
@@ -1,5 +1,3 @@
-package test;
-
class Test {
public Object fn() { return null; }
}
diff --git a/test/data/java/member.java b/test/data/java/member.java
index a417ff7e7..d4f4b8d59 100644
--- a/test/data/java/member.java
+++ b/test/data/java/member.java
@@ -1,5 +1,3 @@
-package test
-
class Test {
/**
* Summary for Function
diff --git a/test/data/java/memberWithModifiers.java b/test/data/java/memberWithModifiers.java
index 7c2362241..ea645c218 100644
--- a/test/data/java/memberWithModifiers.java
+++ b/test/data/java/memberWithModifiers.java
@@ -1,6 +1,4 @@
-package test
-
-abstract class Test {
+public abstract class Test {
/**
* Summary for Function
* @param name is String parameter
diff --git a/test/data/java/staticMethod.java b/test/data/java/staticMethod.java
index 2bbbbf1b5..a2ecd7f11 100644
--- a/test/data/java/staticMethod.java
+++ b/test/data/java/staticMethod.java
@@ -1,5 +1,3 @@
-package test;
-
class C {
public static void foo() {
}
diff --git a/test/data/java/superClass.java b/test/data/java/superClass.java
index 99535813a..31b5fa962 100644
--- a/test/data/java/superClass.java
+++ b/test/data/java/superClass.java
@@ -1,4 +1,2 @@
-package test;
-
public class Foo extends Exception implements Cloneable {
}
diff --git a/test/data/java/typeParameter.java b/test/data/java/typeParameter.java
index 98a6aee9a..5a24b30ac 100644
--- a/test/data/java/typeParameter.java
+++ b/test/data/java/typeParameter.java
@@ -1,5 +1,3 @@
-package test
-
class Foo<T extends Comparable<T>> {
public <E> E foo();
}
diff --git a/test/data/java/varargs.java b/test/data/java/varargs.java
index a6af6a8dd..d184564e8 100644
--- a/test/data/java/varargs.java
+++ b/test/data/java/varargs.java
@@ -1,5 +1,3 @@
-package test
-
class Foo {
public void bar(String... x);
}
diff --git a/test/src/TestAPI.kt b/test/src/TestAPI.kt
index 4a0e4fb4e..823536101 100644
--- a/test/src/TestAPI.kt
+++ b/test/src/TestAPI.kt
@@ -2,6 +2,7 @@ package org.jetbrains.dokka.tests
import com.intellij.openapi.application.PathManager
import com.intellij.openapi.util.Disposer
+import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.dokka.*
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
@@ -66,11 +67,34 @@ public fun verifyModel(source: String,
verifier = verifier)
}
-public fun verifyPackageMember(kotlinSource: String,
+public fun verifyPackageMember(source: String,
withJdk: Boolean = false,
withKotlinRuntime: Boolean = false,
verifier: (DocumentationNode) -> Unit) {
- verifyModel(kotlinSource, withJdk = withJdk, withKotlinRuntime = withKotlinRuntime) { model ->
+ verifyModel(source, withJdk = withJdk, withKotlinRuntime = withKotlinRuntime) { model ->
+ val pkg = model.members.single()
+ verifier(pkg.members.single())
+ }
+}
+
+public fun verifyJavaModel(source: String,
+ withKotlinRuntime: Boolean = false,
+ verifier: (DocumentationModule) -> Unit) {
+ val tempDir = FileUtil.createTempDirectory("dokka", "")
+ try {
+ val sourceFile = File(source)
+ FileUtil.copy(sourceFile, File(tempDir, sourceFile.name))
+ verifyModel(JavaSourceRoot(tempDir), withJdk = true, withKotlinRuntime = withKotlinRuntime, verifier = verifier)
+ }
+ finally {
+ FileUtil.delete(tempDir)
+ }
+}
+
+public fun verifyJavaPackageMember(source: String,
+ withKotlinRuntime: Boolean = false,
+ verifier: (DocumentationNode) -> Unit) {
+ verifyJavaModel(source, withKotlinRuntime) { model ->
val pkg = model.members.single()
verifier(pkg.members.single())
}
@@ -82,15 +106,22 @@ public fun verifyOutput(roots: Array<ContentRoot>,
withKotlinRuntime: Boolean = false,
outputGenerator: (DocumentationModule, StringBuilder) -> Unit) {
verifyModel(*roots, withJdk = withJdk, withKotlinRuntime = withKotlinRuntime) {
- val output = StringBuilder()
- outputGenerator(it, output)
- val ext = outputExtension.removePrefix(".")
- val path = roots.first().path
- val expectedOutput = File(path.replaceAfterLast(".", ext, path + "." + ext)).readText()
- assertEqualsIgnoringSeparators(expectedOutput, output.toString())
+ verifyModelOutput(it, outputExtension, outputGenerator, roots.first().path)
}
}
+private fun verifyModelOutput(it: DocumentationModule,
+ outputExtension: String,
+ outputGenerator: (DocumentationModule, StringBuilder) -> Unit,
+ sourcePath: String) {
+ val output = StringBuilder()
+ outputGenerator(it, output)
+ val ext = outputExtension.removePrefix(".")
+ val path = sourcePath
+ val expectedOutput = File(path.replaceAfterLast(".", ext, path + "." + ext)).readText()
+ assertEqualsIgnoringSeparators(expectedOutput, output.toString())
+}
+
public fun verifyOutput(path: String,
outputExtension: String,
withJdk: Boolean = false,
@@ -99,6 +130,15 @@ public fun verifyOutput(path: String,
verifyOutput(arrayOf(contentRootFromPath(path)), outputExtension, withJdk, withKotlinRuntime, outputGenerator)
}
+public fun verifyJavaOutput(path: String,
+ outputExtension: String,
+ withKotlinRuntime: Boolean = false,
+ outputGenerator: (DocumentationModule, StringBuilder) -> Unit) {
+ verifyJavaModel(path, withKotlinRuntime) { model ->
+ verifyModelOutput(model, outputExtension, outputGenerator, path)
+ }
+}
+
public fun assertEqualsIgnoringSeparators(expectedOutput: String, output: String) {
Assert.assertEquals(expectedOutput.replace("\r\n", "\n"), output.replace("\r\n", "\n"))
}
diff --git a/test/src/format/HtmlFormatTest.kt b/test/src/format/HtmlFormatTest.kt
index 66fd0fee2..752e44249 100644
--- a/test/src/format/HtmlFormatTest.kt
+++ b/test/src/format/HtmlFormatTest.kt
@@ -99,31 +99,31 @@ public class HtmlFormatTest {
}
@Test fun javaSupertypeLink() {
- verifyOutput("test/data/format/javaSupertype.java", ".html") { model, output ->
+ verifyJavaOutput("test/data/format/javaSupertype.java", ".html") { model, output ->
htmlService.appendNodes(tempLocation, output, model.members.single().members.single { it.name == "C"}.members.filter { it.name == "Bar"} )
}
}
@Test fun javaLinkTag() {
- verifyOutput("test/data/format/javaLinkTag.java", ".html", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaLinkTag.java", ".html") { model, output ->
htmlService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaLinkTagWithLabel() {
- verifyOutput("test/data/format/javaLinkTagWithLabel.java", ".html", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaLinkTagWithLabel.java", ".html") { model, output ->
htmlService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaSeeTag() {
- verifyOutput("test/data/format/javaSeeTag.java", ".html", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaSeeTag.java", ".html") { model, output ->
htmlService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaDeprecated() {
- verifyOutput("test/data/format/javaDeprecated.java", ".html") { model, output ->
+ verifyJavaOutput("test/data/format/javaDeprecated.java", ".html") { model, output ->
htmlService.appendNodes(tempLocation, output, model.members.single().members.single { it.name == "Foo" }.members.filter { it.name == "foo" })
}
}
diff --git a/test/src/format/MarkdownFormatTest.kt b/test/src/format/MarkdownFormatTest.kt
index bb61fa1c9..1a09ae602 100644
--- a/test/src/format/MarkdownFormatTest.kt
+++ b/test/src/format/MarkdownFormatTest.kt
@@ -121,25 +121,25 @@ public class MarkdownFormatTest {
}
@Test fun javadocHtml() {
- verifyOutput("test/data/format/javadocHtml.java", ".md", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javadocHtml.java", ".md") { model, output ->
markdownService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaCodeLiteralTags() {
- verifyOutput("test/data/format/javaCodeLiteralTags.java", ".md", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaCodeLiteralTags.java", ".md") { model, output ->
markdownService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaCodeInParam() {
- verifyOutput("test/data/format/javaCodeInParam.java", ".md", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaCodeInParam.java", ".md") { model, output ->
markdownService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@Test fun javaSpaceInAuthor() {
- verifyOutput("test/data/format/javaSpaceInAuthor.java", ".md", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javaSpaceInAuthor.java", ".md") { model, output ->
markdownService.appendNodes(tempLocation, output, model.members.single().members)
}
}
@@ -157,7 +157,7 @@ public class MarkdownFormatTest {
}
@Test fun javadocOrderedList() {
- verifyOutput("test/data/format/javadocOrderedList.java", ".md", withJdk = true) { model, output ->
+ verifyJavaOutput("test/data/format/javadocOrderedList.java", ".md") { model, output ->
markdownService.appendNodes(tempLocation, output, model.members.single().members.filter { it.name == "Bar" })
}
}
diff --git a/test/src/model/JavaTest.kt b/test/src/model/JavaTest.kt
index 5ec29b25e..0633a5cc3 100644
--- a/test/src/model/JavaTest.kt
+++ b/test/src/model/JavaTest.kt
@@ -9,12 +9,11 @@ import kotlin.test.assertTrue
public class JavaTest {
@Test fun function() {
- verifyPackageMember("test/data/java/member.java") { cls ->
+ verifyJavaPackageMember("test/data/java/member.java") { cls ->
assertEquals("Test", cls.name)
assertEquals(DocumentationNode.Kind.Class, cls.kind)
- with(cls.members.single()) {
+ with(cls.members(DocumentationNode.Kind.Function).single()) {
assertEquals("fn", name)
- assertEquals(DocumentationNode.Kind.Function, kind)
assertEquals("Summary for Function", content.summary.toTestString().trimEnd())
assertEquals(3, content.sections.size)
with(content.sections[0]) {
@@ -47,8 +46,9 @@ public class JavaTest {
}
@Test fun memberWithModifiers() {
- verifyPackageMember("test/data/java/memberWithModifiers.java") { cls ->
- assertEquals("abstract", cls.details[0].name)
+ verifyJavaPackageMember("test/data/java/memberWithModifiers.java") { cls ->
+ val modifiers = cls.details(DocumentationNode.Kind.Modifier).map { it.name }
+ assertTrue("abstract" in modifiers)
with(cls.members.single { it.name == "fn" }) {
assertEquals("protected", details[0].name)
}
@@ -59,7 +59,7 @@ public class JavaTest {
}
@Test fun superClass() {
- verifyPackageMember("test/data/java/superClass.java") { cls ->
+ verifyJavaPackageMember("test/data/java/superClass.java") { cls ->
val superTypes = cls.details(DocumentationNode.Kind.Supertype)
assertEquals(2, superTypes.size)
assertEquals("Exception", superTypes[0].name)
@@ -68,22 +68,21 @@ public class JavaTest {
}
@Test fun arrayType() {
- verifyPackageMember("test/data/java/arrayType.java") { cls ->
- with(cls.members.single()) {
+ verifyJavaPackageMember("test/data/java/arrayType.java") { cls ->
+ with(cls.members(DocumentationNode.Kind.Function).single()) {
val type = detail(DocumentationNode.Kind.Type)
assertEquals("Array", type.name)
assertEquals("String", type.detail(DocumentationNode.Kind.Type).name)
with(details(DocumentationNode.Kind.Parameter).single()) {
val parameterType = detail(DocumentationNode.Kind.Type)
- assertEquals("Array", parameterType.name)
- assertEquals("Int", parameterType.detail(DocumentationNode.Kind.Type).name)
+ assertEquals("IntArray", parameterType.name)
}
}
}
}
@Test fun typeParameter() {
- verifyPackageMember("test/data/java/typeParameter.java") { cls ->
+ verifyJavaPackageMember("test/data/java/typeParameter.java") { cls ->
val typeParameters = cls.details(DocumentationNode.Kind.TypeParameter)
with(typeParameters.single()) {
assertEquals("T", name)
@@ -92,7 +91,7 @@ public class JavaTest {
assertEquals("T", detail(DocumentationNode.Kind.Type).name)
}
}
- with(cls.members.single()) {
+ with(cls.members(DocumentationNode.Kind.Function).single()) {
val methodTypeParameters = details(DocumentationNode.Kind.TypeParameter)
with(methodTypeParameters.single()) {
assertEquals("E", name)
@@ -102,7 +101,7 @@ public class JavaTest {
}
@Test fun constructors() {
- verifyPackageMember("test/data/java/constructors.java") { cls ->
+ verifyJavaPackageMember("test/data/java/constructors.java") { cls ->
val constructors = cls.members(DocumentationNode.Kind.Constructor)
assertEquals(2, constructors.size)
with(constructors[0]) {
@@ -112,17 +111,17 @@ public class JavaTest {
}
@Test fun innerClass() {
- verifyPackageMember("test/data/java/innerClass.java") { cls ->
+ verifyJavaPackageMember("test/data/java/innerClass.java") { cls ->
val innerClass = cls.members(DocumentationNode.Kind.Class).single()
assertEquals("D", innerClass.name)
}
}
@Test fun varargs() {
- verifyPackageMember("test/data/java/varargs.java") { cls ->
+ verifyJavaPackageMember("test/data/java/varargs.java") { cls ->
val fn = cls.members(DocumentationNode.Kind.Function).single()
val param = fn.detail(DocumentationNode.Kind.Parameter)
- assertEquals("vararg", param.annotations.first().name)
+ assertEquals("vararg", param.details(DocumentationNode.Kind.Modifier).first().name)
val psiType = param.detail(DocumentationNode.Kind.Type)
assertEquals("String", psiType.name)
assertTrue(psiType.details(DocumentationNode.Kind.Type).isEmpty())
@@ -130,26 +129,28 @@ public class JavaTest {
}
@Test fun fields() {
- verifyPackageMember("test/data/java/field.java") { cls ->
+ verifyJavaPackageMember("test/data/java/field.java") { cls ->
val i = cls.members(DocumentationNode.Kind.Property).single { it.name == "i" }
assertEquals("Int", i.detail(DocumentationNode.Kind.Type).name)
assertTrue("var" in i.details(DocumentationNode.Kind.Modifier).map { it.name })
- val s = cls.members(DocumentationNode.Kind.CompanionObjectProperty).single { it.name == "s" }
+
+ val s = cls.members(DocumentationNode.Kind.Property).single { it.name == "s" }
assertEquals("String", s.detail(DocumentationNode.Kind.Type).name)
assertFalse("var" in s.details(DocumentationNode.Kind.Modifier).map { it.name })
+ assertTrue("static" in s.details(DocumentationNode.Kind.Modifier).map { it.name })
}
}
@Test fun staticMethod() {
- verifyPackageMember("test/data/java/staticMethod.java") { cls ->
- val m = cls.members(DocumentationNode.Kind.CompanionObjectFunction).single { it.name == "foo" }
- assertFalse("static" in m.details(DocumentationNode.Kind.Modifier).map { it.name })
+ verifyJavaPackageMember("test/data/java/staticMethod.java") { cls ->
+ val m = cls.members(DocumentationNode.Kind.Function).single { it.name == "foo" }
+ assertTrue("static" in m.details(DocumentationNode.Kind.Modifier).map { it.name })
}
}
@Test fun annotatedAnnotation() {
- verifyPackageMember("test/data/java/annotatedAnnotation.java") { cls ->
- assertEquals(2, cls.annotations.size)
+ verifyJavaPackageMember("test/data/java/annotatedAnnotation.java") { cls ->
+ assertEquals(1, cls.annotations.size)
with(cls.annotations[0]) {
assertEquals(1, details.count())
with(details[0]) {
@@ -157,7 +158,7 @@ public class JavaTest {
assertEquals(1, details.count())
with(details[0]) {
assertEquals(DocumentationNode.Kind.Value, kind)
- assertEquals("RetentionPolicy.RUNTIME", name)
+ assertEquals("[AnnotationTarget.FIELD, AnnotationTarget.CLASS, AnnotationTarget.FILE, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER]", name)
}
}
}
@@ -165,31 +166,21 @@ public class JavaTest {
}
@Test fun deprecation() {
- verifyPackageMember("test/data/java/deprecation.java", withJdk = true) { cls ->
+ verifyJavaPackageMember("test/data/java/deprecation.java") { cls ->
val fn = cls.members(DocumentationNode.Kind.Function).single()
- with(fn.deprecation!!) {
- assertEquals(1, details.count())
- with(details[0]) {
- assertEquals(DocumentationNode.Kind.Parameter, kind)
- assertEquals(1, details.count())
- with(details[0]) {
- assertEquals(DocumentationNode.Kind.Value, kind)
- assertEquals("This should no longer be used", name)
- }
- }
- }
+ assertEquals("This should no longer be used", fn.deprecation!!.content.toTestString())
}
}
@Test fun javaLangObject() {
- verifyPackageMember("test/data/java/javaLangObject.java", withJdk = true) { cls ->
+ verifyJavaPackageMember("test/data/java/javaLangObject.java") { cls ->
val fn = cls.members(DocumentationNode.Kind.Function).single()
assertEquals("Any", fn.detail(DocumentationNode.Kind.Type).name)
}
}
@Test fun enumValues() {
- verifyPackageMember("test/data/java/enumValues.java", withJdk = true) { cls ->
+ verifyJavaPackageMember("test/data/java/enumValues.java") { cls ->
val superTypes = cls.details(DocumentationNode.Kind.Supertype)
assertEquals(0, superTypes.size)
assertEquals(1, cls.members(DocumentationNode.Kind.EnumItem).size)
@@ -197,7 +188,7 @@ public class JavaTest {
}
@Test fun inheritorLinks() {
- verifyPackageMember("test/data/java/inheritorLinks.java") { cls ->
+ verifyJavaPackageMember("test/data/java/inheritorLinks.java") { cls ->
val fooClass = cls.members.single { it.name == "Foo" }
val inheritors = fooClass.references(DocumentationReference.Kind.Inheritor)
assertEquals(1, inheritors.size)