106 .exports("p")
107 .exports("q")
108 .classes("package p; public class C { }")
109 .classes("package q; public class D { }")
110 .write(src);
111
112 javadoc("-d", base.resolve("out").toString(),
113 "-quiet",
114 "-noindex",
115 "--module-source-path", src.toString(),
116 "--module", "m");
117
118 checkExit(Exit.OK);
119 checkCaption("m", TabKind.EXPORTS);
120 checkTableHead("m");
121 checkPackageRow("m", "p", "i0", null, null, " ");
122 checkPackageRow("m", "q", "i1", null, null, " ");
123 }
124
125 @Test
126 public void exportSomeQualified(Path base) throws Exception {
127 Path src = base.resolve("src");
128 new ModuleBuilder(tb, "m")
129 .comment("exports multiple packages, some qualified")
130 .exports("p")
131 .exportsTo("q", "other")
132 .classes("package p; public class C { }")
133 .classes("package q; public class D { }")
134 .write(src);
135
136 new ModuleBuilder(tb, "other")
137 .comment("dummy module for target of export")
138 .write(src);
139
140 javadoc("-d", base.resolve("out-api").toString(),
141 "-quiet",
142 "-noindex",
143 "--module-source-path", src.toString(),
144 "--module", "m,other");
145
|
106 .exports("p")
107 .exports("q")
108 .classes("package p; public class C { }")
109 .classes("package q; public class D { }")
110 .write(src);
111
112 javadoc("-d", base.resolve("out").toString(),
113 "-quiet",
114 "-noindex",
115 "--module-source-path", src.toString(),
116 "--module", "m");
117
118 checkExit(Exit.OK);
119 checkCaption("m", TabKind.EXPORTS);
120 checkTableHead("m");
121 checkPackageRow("m", "p", "i0", null, null, " ");
122 checkPackageRow("m", "q", "i1", null, null, " ");
123 }
124
125 @Test
126 public void exportSameName(Path base) throws Exception {
127 Path src = base.resolve("src");
128 new ModuleBuilder(tb, "m")
129 .comment("exports same qualified package and types as module o")
130 .exports("p")
131 .classes("package p; public class C { }")
132 .write(src);
133 new ModuleBuilder(tb, "o")
134 .comment("exports same qualified package and types as module m")
135 .exports("p")
136 .classes("package p; public class C { }")
137 .write(src);
138
139 javadoc("-d", base.resolve("out").toString(),
140 "-quiet",
141 "--module-source-path", src.toString(),
142 "--module", "m,o");
143
144 checkExit(Exit.ERROR);
145 checkOutput(Output.OUT, true, "error: the unnamed module reads package p from both o and m");
146 checkCaption("m", TabKind.EXPORTS);
147 checkCaption("o", TabKind.EXPORTS);
148 checkTableHead("m");
149 checkTableHead("o");
150 checkPackageRow("m", "p", "i0", null, null, " ");
151 checkPackageRow("o", "p", "i0", null, null, " ");
152 checkOutput("m/p/package-summary.html", true,
153 """
154 <div class="sub-title"><span class="module-label-in-package">Module</span> <a href="../module-summary.html">m</a></div>
155 """);
156 checkOutput("o/p/package-summary.html", true,
157 """
158 <div class="sub-title"><span class="module-label-in-package">Module</span> <a href="../module-summary.html">o</a></div>
159 """);
160 checkOutput("m/p/C.html", true,
161 """
162 <div class="sub-title"><span class="module-label-in-type">Module</span> <a href="../module-summary.html">m</a></div>
163 <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">p</a></div>
164 """);
165 checkOutput("o/p/C.html", true,
166 """
167 <div class="sub-title"><span class="module-label-in-type">Module</span> <a href="../module-summary.html">o</a></div>
168 <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">p</a></div>
169 """);
170 }
171
172 @Test
173 public void exportSomeQualified(Path base) throws Exception {
174 Path src = base.resolve("src");
175 new ModuleBuilder(tb, "m")
176 .comment("exports multiple packages, some qualified")
177 .exports("p")
178 .exportsTo("q", "other")
179 .classes("package p; public class C { }")
180 .classes("package q; public class D { }")
181 .write(src);
182
183 new ModuleBuilder(tb, "other")
184 .comment("dummy module for target of export")
185 .write(src);
186
187 javadoc("-d", base.resolve("out-api").toString(),
188 "-quiet",
189 "-noindex",
190 "--module-source-path", src.toString(),
191 "--module", "m,other");
192
|