Fixed tests

This commit is contained in:
Akash Yadav
2022-07-13 23:16:02 +05:30
parent 2bc1838f76
commit a9d133d414
5 changed files with 51 additions and 23 deletions
+6
View File
@@ -26,6 +26,12 @@ android {
minifyEnabled true
}
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
dependencies {
@@ -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)
@@ -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
}
}
@@ -28,7 +28,7 @@ import java.util.zip.*
*/
class ClasspathReader {
companion object {
@JvmStatic
fun listClasses(paths: Collection<File>): ImmutableSet<ClassInfo> {
@@ -57,7 +57,7 @@ class ClasspathReader {
name = name.replace('/', '.')
}
classes.add(ClassInfo(name))
classes.add(ClassInfo.create(name))
}
}
}
Binary file not shown.