diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4bb1fb9..9e9ff7b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -19,8 +19,8 @@ android { applicationId = "solutions.tretter.githugandroid" minSdk = 26 targetSdk = 35 - versionCode = 115 - versionName = "0.1.114" + versionCode = 116 + versionName = "0.1.115" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/solutions/tretter/githugandroid/GameModels.kt b/app/src/main/java/solutions/tretter/githugandroid/GameModels.kt index 4c09c87..77572cc 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/GameModels.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/GameModels.kt @@ -104,7 +104,7 @@ object GitSandboxEngine { " mkdir|md ", " cd ", " cd..", - " rm ", + " rm|del ", " echo ", ) @@ -119,7 +119,7 @@ object GitSandboxEngine { else repo.copy(files = repo.files + GitFile(name = name)) to emptyList() } (parts[0] == "mkdir" || parts[0] == "md") && parts.size >= 2 -> repo to emptyList() - parts[0] == "rm" && parts.size >= 2 -> { + (parts[0] == "rm" || parts[0] == "del") && parts.size >= 2 -> { val target = parts[1] repo.copy(files = repo.files.mapNotNull { file -> when { diff --git a/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt b/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt index 2bb35d1..072ee2f 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt @@ -84,7 +84,7 @@ class GitRepositoryRuntime(private val context: Context) { add("Native Git prototype:") add(" binary path: nativeLibraryDir/libgit.so") add(" selected ABI: ${Build.SUPPORTED_ABIS.firstOrNull() ?: "unknown"}") - add(" helper commands: ls/dir, pwd, cat, touch, mkdir/md, cd.., rm, echo") + add(" helper commands: ls/dir, pwd, cat, touch, mkdir/md, cd.., rm/del, echo") add(" visual editors: vi, nano, emacs, ed, ex") add(" git help ") } @@ -240,13 +240,13 @@ class GitRepositoryRuntime(private val context: Context) { } } } - "rm" -> { + "rm", "del" -> { val targets = tokens.drop(1) if (targets.isEmpty()) return currentRepo to listOf("usage: rm ") val errors = targets.mapNotNull { target -> val file = File(workingDir, target) if (!file.exists()) { - "rm: $target: No such file or directory" + "${tokens.first()}: $target: No such file or directory" } else { file.deleteRecursively() null diff --git a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt index 6c1c404..a95f147 100644 --- a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt +++ b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt @@ -97,4 +97,17 @@ class GitSandboxEngineTest { assertTrue(output.isEmpty()) assertEquals("src", updatedRepo.currentDir) } + + @Test + fun delIsAcceptedAsRmAlias() { + val repo = RepoState( + initialized = true, + files = listOf(GitFile("deleteme.txt")), + ) + + val (updatedRepo, output) = GitSandboxEngine.execute(repo, "del deleteme.txt") + + assertTrue(output.isEmpty()) + assertFalse(updatedRepo.files.any { it.name == "deleteme.txt" }) + } }