From a9d133d4146c0d458c1901662b34b6907835dee1 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Wed, 13 Jul 2022 23:16:02 +0530 Subject: [PATCH] Fixed tests --- build-tools/projects/build.gradle | 6 ++ .../projects/api/ModuleProjectTest.kt | 2 +- .../com/itsaky/androidide/utils/ClassInfo.kt | 62 ++++++++++++------ .../androidide/utils/ClasspathReader.kt | 4 +- tests/test-home/.androidide/init/model.jar | Bin 56309 -> 56309 bytes 5 files changed, 51 insertions(+), 23 deletions(-) diff --git a/build-tools/projects/build.gradle b/build-tools/projects/build.gradle index d7a62f702..ac93d7b1a 100644 --- a/build-tools/projects/build.gradle +++ b/build-tools/projects/build.gradle @@ -26,6 +26,12 @@ android { minifyEnabled true } } + + testOptions { + unitTests { + includeAndroidResources = true + } + } } dependencies { diff --git a/build-tools/projects/src/test/java/com/itsaky/androidide/projects/api/ModuleProjectTest.kt b/build-tools/projects/src/test/java/com/itsaky/androidide/projects/api/ModuleProjectTest.kt index 51cc4348f..7de087aa8 100644 --- a/build-tools/projects/src/test/java/com/itsaky/androidide/projects/api/ModuleProjectTest.kt +++ b/build-tools/projects/src/test/java/com/itsaky/androidide/projects/api/ModuleProjectTest.kt @@ -32,7 +32,7 @@ import org.robolectric.annotation.Config /** @author Akash Yadav */ @RunWith(RobolectricTestRunner::class) -@Config(manifest = Config.NONE) +@Config(manifest = Config.DEFAULT_VALUE_STRING) class ModuleProjectTest { private val log = ILogger.newInstance(javaClass.simpleName) diff --git a/common/src/main/java/com/itsaky/androidide/utils/ClassInfo.kt b/common/src/main/java/com/itsaky/androidide/utils/ClassInfo.kt index 03e47dbcd..51230dd2d 100644 --- a/common/src/main/java/com/itsaky/androidide/utils/ClassInfo.kt +++ b/common/src/main/java/com/itsaky/androidide/utils/ClassInfo.kt @@ -24,27 +24,49 @@ import androidx.core.text.isDigitsOnly * * @author Akash Yadav */ -data class ClassInfo(val name: String) { +@Suppress("DataClassPrivateConstructor") +data class ClassInfo +private constructor( + val name: String, + val simpleName: String, + val packageName: String, + val isTopLevel: Boolean, + val isAnonymous: Boolean, + val isLocal: Boolean, + val isInner: Boolean +) { - val isTopLevel: Boolean = name.indexOf('$') == -1 + companion object { - val simpleName: String = - if (!isTopLevel) { - name.substringAfterLast('$') - } else if (name.indexOf('.') != -1) { - name.substringAfterLast('.') - } else { - name + @JvmStatic + fun create(name: String): ClassInfo { + val isTopLevel = name.indexOf('$') == -1 + + val simpleName = + if (!isTopLevel) { + name.substringAfterLast('$') + } else if (name.indexOf('.') != -1) { + name.substringAfterLast('.') + } else { + name + } + + val packageName = + if (name.contains('.')) { + name.substringBeforeLast('.') + } else { + name + } + + if (name == "com.itsaky.androidide.zipfs.ZipCoder") { + println() + } + + val isAnonymous = simpleName.isDigitsOnly() + val isLocal = simpleName[0].isDigit() && simpleName.contains(Regex("[A-Za-z]")) + val isInner = !isTopLevel && !isLocal && !isAnonymous + + return ClassInfo(name, simpleName, packageName, isTopLevel, isAnonymous, isLocal, isInner) } - - val packageName: String = - if (name.contains('.')) { - name.substringBeforeLast('.') - } else { - name - } - - val isAnonymous: Boolean = simpleName.isDigitsOnly() - val isLocal: Boolean = simpleName[0].isDigit() && simpleName.contains(Regex("[A-Za-z]")) - val isInner: Boolean = !isTopLevel && !isLocal && !isAnonymous + } } diff --git a/common/src/main/java/com/itsaky/androidide/utils/ClasspathReader.kt b/common/src/main/java/com/itsaky/androidide/utils/ClasspathReader.kt index 5a0851907..af5fae429 100644 --- a/common/src/main/java/com/itsaky/androidide/utils/ClasspathReader.kt +++ b/common/src/main/java/com/itsaky/androidide/utils/ClasspathReader.kt @@ -28,7 +28,7 @@ import java.util.zip.* */ class ClasspathReader { companion object { - + @JvmStatic fun listClasses(paths: Collection): ImmutableSet { @@ -57,7 +57,7 @@ class ClasspathReader { name = name.replace('/', '.') } - classes.add(ClassInfo(name)) + classes.add(ClassInfo.create(name)) } } } diff --git a/tests/test-home/.androidide/init/model.jar b/tests/test-home/.androidide/init/model.jar index c0ba86b4c32fe85a7bcfcd6fdd64a7ae3423144e..95a883a8b7a3531d0fc35fb15f4abb58ab7637b9 100644 GIT binary patch delta 31 ncmeymo%!o_W}X0VW)?061`ZB}jXO8;gq&yExN~#T`N=#0tR4$s delta 31 ncmeymo%!o_W}X0VW)?061`ZAe_Zb^`Le4X}&)A%FeliaLp!o_)