diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 204499f..c8e62d8 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 = 125 - versionName = "0.1.124" + versionCode = 126 + versionName = "0.1.125" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/solutions/tretter/githugandroid/levels/RmLevel.kt b/app/src/main/java/solutions/tretter/githugandroid/levels/RmLevel.kt index a13ece1..f197232 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/levels/RmLevel.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/levels/RmLevel.kt @@ -14,7 +14,10 @@ internal fun rmLevel(): Level = level( hints = emptyList(), commandSuggestions = listOf("git status", "git rm deleteme.rb"), setup = { RepoState(initialized = true, files = listOf(GitFile("deleteme.rb", tracked = true, deleted = true)), commits = listOf(CommitNode("0000001", "Added a temp file")), branches = mapOf("master" to 1)) }, - validator = repoPredicate { repo -> repo.files.none { it.name == "deleteme.rb" && !it.deleted } || repo.files.any { it.name == "deleteme.rb" && it.deleted && it.staged } }, + validator = repoPredicate { repo -> + repo.files.none { it.name == "deleteme.rb" } || + repo.files.any { it.name == "deleteme.rb" && it.deleted && it.staged } + }, testCases = listOf( levelTestCase("git rm deleted path", "git rm deleteme.rb"), ), diff --git a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt index c83697e..b013721 100644 --- a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt +++ b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt @@ -37,6 +37,16 @@ class GitSandboxEngineTest { assertFalse(updatedRepo.files.any { it.name == "deleteme.rb" }) } + @Test + fun rmLevelIsNotSolvedByReadOnlyCommands() { + val level = rmLevel() + val repo = level.setup() + + val (updatedRepo, _) = GitSandboxEngine.execute(repo, "ls") + + assertFalse(level.validator(updatedRepo, "ls")) + } + @Test fun gitMvExpandsWildcardSourcesIntoDestinationDirectory() { val repo = RepoState(