Incorrect Copy Loop Detection Due to `String#contains` Logic
Los mantenedores suelen responder en 7 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
Línea de trabajo
Comienza con app/src/test/java/com/amaze/filemanager/filesystem/OperationsTest.java y el punto de entrada isCopyLoopPossible. Ejecuta o amplía la prueba unitaria mostrada usando rutas similares que no se solapen, como /documents/work y /documents/workk; la tarea está terminada cuando el método devuelve false para ese caso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary:
The isCopyLoopPossible method incorrectly identifies a copy loop for similar but non-overlapping directory paths due to reliance on string contains logic. Located at app/src/test/java/com/amaze/filemanager/filesystem/OperationsTest.java
To Reproduce
Steps to reproduce the behavior:
- Invoke the
isCopyLoopPossiblemethod programmatically within the app, passing a source file path and a target file path where the target path is similar but not actually a subdirectory of the source (e.g.,/documents/workand/documents/workk). - Observe the method's return value.
Expected behavior
The method should return false, indicating no copy loop is possible because the target directory is not a subdirectory of the source directory.
Actual Outcome
The method returns true, incorrectly suggesting a copy loop is possible due to the similarity of the paths.
Screenshots
For this unit test:
@Test
public void testIsCopyLoopPossibleWithSimilarButNonOverlappingPaths() {
HybridFileParcelable sourceFile = new HybridFileParcelable("/documents/work");
HybridFile targetFile = new HybridFile(OpenMode.FILE, "/documents/workk");
assertFalse("Copy loop should not be detected for similar but non-overlapping paths",
Operations.isCopyLoopPossible(sourceFile, targetFile));
}
Smartphone (please complete the following information):
N/A
Additional context
There was no GUI error. Tried reproducing error on small scale on GUI with android emulator and no issues. Although, when trying to copy parent directory into subdirectory of itself, it copied over just empty directory. Could cause problems on a larger scale.
- Lenguaje dominante
- Kotlin
- Estrellas
- 6.5k
- Forks
- 1.7k
- Merge medio
- 9 d 21 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TeamAmaze/AmazeFileManager
-
Folders with no files are missing the parent directory item in grid layoutPosiblemente ocupada @amandeep25100-a11y la tomó hace 1 día. AbiertoArea-UIUX Issue-Bug Issue-Easy (good first issue)
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
TeamAmaze/AmazeFileManager#4769 · 3 comentarios ·
Los mantenedores suelen responder en 7 días
-
Area-UIUX Issue-Bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
TeamAmaze/AmazeFileManager#4723 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 7 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 50/100
TeamAmaze/AmazeFileManager#4771 ·
Los mantenedores suelen responder en 7 días
-
Thumbnail for animated images are brokenPosiblemente ocupada @muhamadsyafii la tomó hace 2 días. AbiertoArea-UIUX Issue-Bug
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
TeamAmaze/AmazeFileManager#4767 · 5 comentarios · 1 asignado ·
Los mantenedores suelen responder en 7 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
TeamAmaze/AmazeFileManager#4766 · 2 comentarios ·
Los mantenedores suelen responder en 7 días
Todos los issues de TeamAmaze/AmazeFileManager
Issues similares
-
Preserve database capacity during dev deploymentsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
world-federation-of-advertisers/cross-media-measurement#4870 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
ankidroid/Anki-Android#23156 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
paritytech/polkadot-android-community#307 ·
Los mantenedores suelen responder en 2 días
-
android enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día