Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion build.mill
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ object Versions {
def coursier = "2.1.25-M26"
def osLib = "0.11.8"
def munit = "1.3.6"
def expecty = "0.17.1"
def ubuntu = "24.04"
}

Expand Down Expand Up @@ -126,7 +127,8 @@ trait Tests extends ScalaModule with TestModule.Munit {

def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq(
mvn"com.lihaoyi::os-lib:${Versions.osLib}",
mvn"org.scalameta::munit:${Versions.munit}"
mvn"org.scalameta::munit:${Versions.munit}",
mvn"com.eed3si9n.expecty::expecty:${Versions.expecty}"
)

def forkEnv: T[Map[String, String]] = super.forkEnv() ++ Seq(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package cli.javaclassname

import com.eed3si9n.expecty.Expecty.expect

class JavaClassNameTests extends munit.FunSuite {

val launcher = Option(System.getenv("JAVA_CLASS_NAME_CLI"))
Expand Down Expand Up @@ -32,14 +34,14 @@ class JavaClassNameTests extends munit.FunSuite {
| }
|}
|""".stripMargin
assertEquals(extractClassName("Foo.java", content), expectedClassName)
expect(extractClassName("Foo.java", content) == expectedClassName)
}

test("no package") {
val content =
"""public class NoPackage {}
|""".stripMargin
assertEquals(extractClassName("NoPackage.java", content), "NoPackage")
expect(extractClassName("NoPackage.java", content) == "NoPackage")
}

test("generic class") {
Expand All @@ -54,7 +56,7 @@ class JavaClassNameTests extends munit.FunSuite {
| public U setValue(U u) { return u; }
|}
|""".stripMargin
assertEquals(extractClassName("Generic.java", content), "Generic")
expect(extractClassName("Generic.java", content) == "Generic")
}

test("void methods") {
Expand All @@ -68,7 +70,7 @@ class JavaClassNameTests extends munit.FunSuite {
| void g(int x, long y) {}
|}
|""".stripMargin
assertEquals(extractClassName("VoidMethods.java", content), "VoidMethods")
expect(extractClassName("VoidMethods.java", content) == "VoidMethods")
}

test("interface") {
Expand All @@ -80,7 +82,7 @@ class JavaClassNameTests extends munit.FunSuite {
| default int g() { return 1; }
|}
|""".stripMargin
assertEquals(extractClassName("Iface.java", content), "Iface")
expect(extractClassName("Iface.java", content) == "Iface")
}

test("annotation") {
Expand All @@ -92,7 +94,7 @@ class JavaClassNameTests extends munit.FunSuite {
| int n() default 0;
|}
|""".stripMargin
assertEquals(extractClassName("Annot.java", content), "Annot")
expect(extractClassName("Annot.java", content) == "Annot")
}

test("record with reference components") {
Expand All @@ -101,7 +103,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|public record RefRecord(String a, Object b) {}
|""".stripMargin
assertEquals(extractClassName("RefRecord.java", content), "RefRecord")
expect(extractClassName("RefRecord.java", content) == "RefRecord")
}

test("record with primitive components") {
Expand All @@ -110,7 +112,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|public record PrimRecord(int a, String b) {}
|""".stripMargin
assertEquals(extractClassName("PrimRecord.java", content), "PrimRecord")
expect(extractClassName("PrimRecord.java", content) == "PrimRecord")
}

test("record with all primitive kinds, arrays and varargs") {
Expand All @@ -122,7 +124,7 @@ class JavaClassNameTests extends munit.FunSuite {
| int[] i, double[][] j, long... k
|) {}
|""".stripMargin
assertEquals(extractClassName("AllPrims.java", content), "AllPrims")
expect(extractClassName("AllPrims.java", content) == "AllPrims")
}

// https://github.com/VirtusLab/scala-cli/issues/4514
Expand All @@ -132,7 +134,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|public enum SimpleEnum { A, B }
|""".stripMargin
assertEquals(extractClassName("SimpleEnum.java", content), "SimpleEnum")
expect(extractClassName("SimpleEnum.java", content) == "SimpleEnum")
}

// https://github.com/VirtusLab/scala-cli/issues/4514
Expand All @@ -146,7 +148,7 @@ class JavaClassNameTests extends munit.FunSuite {
| int g() { return 1; }
|}
|""".stripMargin
assertEquals(extractClassName("MethodEnum.java", content), "MethodEnum")
expect(extractClassName("MethodEnum.java", content) == "MethodEnum")
}

// https://github.com/VirtusLab/scala-cli/issues/4514
Expand All @@ -164,7 +166,7 @@ class JavaClassNameTests extends munit.FunSuite {
| public static void main(String[] args) { System.out.println(values().length); }
|}
|""".stripMargin
assertEquals(extractClassName("FancyEnum.java", content), "FancyEnum")
expect(extractClassName("FancyEnum.java", content) == "FancyEnum")
}

// https://github.com/VirtusLab/scala-cli/issues/4515
Expand All @@ -174,7 +176,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|class PackagePrivate {}
|""".stripMargin
assertEquals(extractClassName("PackagePrivate.java", content), "")
expect(extractClassName("PackagePrivate.java", content) == "")
}

// https://github.com/VirtusLab/scala-cli/issues/4515
Expand All @@ -186,7 +188,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|public class Second {}
|""".stripMargin
assertEquals(extractClassName("Second.java", content), "Second")
expect(extractClassName("Second.java", content) == "Second")
}

test("package-private interface, enum and record") {
Expand All @@ -197,14 +199,14 @@ class JavaClassNameTests extends munit.FunSuite {
|enum HiddenEnum { A }
|record HiddenRecord(int x) {}
|""".stripMargin
assertEquals(extractClassName("HiddenIface.java", content), "")
expect(extractClassName("HiddenIface.java", content) == "")
}

test("package-private class in the default package") {
val content =
"""class DefaultPackagePrivate {}
|""".stripMargin
assertEquals(extractClassName("DefaultPackagePrivate.java", content), "")
expect(extractClassName("DefaultPackagePrivate.java", content) == "")
}

test("public class after a package-private one in the default package") {
Expand All @@ -213,7 +215,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|public class Main {}
|""".stripMargin
assertEquals(extractClassName("Main.java", content), "Main")
expect(extractClassName("Main.java", content) == "Main")
}

// Java 21+ compact source files (JEP 445/463/512) have no
Expand All @@ -226,7 +228,7 @@ class JavaClassNameTests extends munit.FunSuite {
| System.out.println(greeting);
|}
|""".stripMargin
assertEquals(extractClassName("Unnamed.java", content), "Unnamed")
expect(extractClassName("Unnamed.java", content) == "Unnamed")
}

test("unnamed class with a helper class and a record after main") {
Expand All @@ -243,7 +245,7 @@ class JavaClassNameTests extends munit.FunSuite {
|
|record Pair(int n, String s) {}
|""".stripMargin
assertEquals(extractClassName("WithHelpers.java", content), "WithHelpers")
expect(extractClassName("WithHelpers.java", content) == "WithHelpers")
}

test("unnamed class with a field before main") {
Expand All @@ -252,7 +254,7 @@ class JavaClassNameTests extends munit.FunSuite {
|String greeting = "hi";
|void main() { System.out.println(greeting + N); }
|""".stripMargin
assertEquals(extractClassName("FieldFirst.java", content), "FieldFirst")
expect(extractClassName("FieldFirst.java", content) == "FieldFirst")
}

}
Loading