Skip to content

Commit 23a0815

Browse files
pikinier20nicolasstucki
authored andcommitted
Fix exports test in Scaladoc
1 parent 148f69f commit 23a0815

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

scaladoc-testcases/src/tests/exports1.scala renamed to scaladoc-testcases/src/tests/exports.scala

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package tests
2-
package exports1
2+
package exports
33

44
class A: //unexpected
55
def aDefInt: Int
@@ -42,4 +42,12 @@ object X: //unexpected
4242
var xVarInt: Int
4343
= 1
4444
var xVar1: 1
45-
= 1
45+
= 1
46+
47+
class B: //unexpected
48+
val a: A
49+
= new A
50+
export a.{Object => Obj, _}
51+
export X._
52+
def obj: Obj.type
53+
= Obj

scaladoc-testcases/src/tests/exports2.scala

Lines changed: 0 additions & 12 deletions
This file was deleted.

scaladoc/test/dotty/tools/scaladoc/signatures/SignatureTest.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ abstract class SignatureTest(
3131
.map { file => Source.fromFile(s"${BuildInfo.test_testcasesSourceRoot}/tests/$file.scala") }
3232
.flatMap(signaturesFromSources(_, signatureKinds))
3333
.toList
34+
3435
val expectedFromSources: Map[String, List[String]] = allSignaturesFromSources
3536
.collect { case e: Expected => e }
3637
.groupMap(_.name)(_.signature)
38+
3739
val unexpectedFromSources: Set[String] = allSignaturesFromSources.collect { case Unexpected(name) => name }.toSet
3840

3941
val actualSignatures: Map[String, Seq[String]] =
@@ -84,7 +86,7 @@ abstract class SignatureTest(
8486

8587
private def findName(signature: String, kinds: Seq[String]): Option[String] =
8688
for
87-
kindMatch <- kinds.flatMap(k =>s"\\b$k\\b".r.findFirstMatchIn(signature)).headOption
89+
kindMatch <- kinds.flatMap(k => s"\\b$k\\b".r.findFirstMatchIn(signature)).minByOption(_.start)
8890
kind <- Option(kindMatch.group(0)) // to filter out nulls
8991
afterKind <- Option(kindMatch.after(0)) // to filter out nulls
9092
name <- if kind.contains("extension") then Some(signature) // The name of an extension will always be the signature itself
@@ -98,7 +100,8 @@ abstract class SignatureTest(
98100
.toSeq
99101
.flatMap {
100102
case unexpectedRegex(signature) => findName(signature, kinds).map(Unexpected(_))
101-
case expectedRegex(signature) => findName(signature, kinds).map(Expected(_, signature))
103+
case expectedRegex(signature) =>
104+
findName(signature, kinds).map(Expected(_, signature))
102105
case signature =>
103106
findName(signature, kinds).map(
104107
Expected(_, commentRegex.replaceAllIn(signature, "")

scaladoc/test/dotty/tools/scaladoc/signatures/TranslatableSignaturesTestCases.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class ContextBounds extends SignatureTest("contextBounds", SignatureTest.all)
9393

9494
class FBoundedTypeParameters extends SignatureTest("fboundedTypeParameters", SignatureTest.all)
9595

96-
class Exports extends SignatureTest("exports2", SignatureTest.all, sourceFiles = List("exports1", "exports2"))
96+
class Exports extends SignatureTest("exports", SignatureTest.all, filterFunc = _.toString.endsWith("B.html"))
9797

9898
class ContextFunctions extends SignatureTest("contextfunctions", SignatureTest.all)
9999

0 commit comments

Comments
 (0)