diff --git a/app/src/main/java/org/tasks/backup/BackupConstants.kt b/app/src/main/java/org/tasks/backup/BackupConstants.kt index 4ce8acd1b..8ea001e02 100755 --- a/app/src/main/java/org/tasks/backup/BackupConstants.kt +++ b/app/src/main/java/org/tasks/backup/BackupConstants.kt @@ -10,7 +10,7 @@ object BackupConstants { const val EXPORT_FILE_NAME = "user.%s.json" const val BACKUP_FILE_NAME = "auto.%s.json" - private val MATCHER = Pattern.compile("""(auto|user)\.(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})\.json""") + private val MATCHER = Pattern.compile("""(auto|user)\.(\d{2,4})(\d{2})(\d{2})[T-](\d{2})(\d{2})\.json""") fun isBackupFile(name: String?) = name?.let { MATCHER.matcher(it).matches() } ?: false @@ -32,7 +32,7 @@ object BackupConstants { .takeIf { it.matches() } ?.let { DateTime( - it.group(2)!!.toInt(), + it.group(2)!!.toInt().let { y -> if (y > 2000) y else y + 2000 }, it.group(3)!!.toInt(), it.group(4)!!.toInt(), it.group(5)!!.toInt(), diff --git a/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt b/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt index c40f1b0a3..9aa0f70fd 100644 --- a/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt +++ b/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt @@ -1,6 +1,8 @@ package org.tasks.backup -import org.junit.Assert.* +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Test import org.tasks.time.DateTime @@ -21,7 +23,7 @@ class BackupConstantsTest { } @Test - fun getTimestampFromAutoBackup() { + fun getTimestampFromAutoBackupTwoDigits() { assertEquals( DateTime(2020, 9, 10, 15, 3).millis, BackupConstants.getTimestampFromFilename("auto.200910-1503.json") @@ -29,10 +31,26 @@ class BackupConstantsTest { } @Test - fun getTimestampFromUserBackup() { + fun getTimestampFromUserBackupTwoDigits() { assertEquals( DateTime(2020, 9, 10, 15, 3).millis, BackupConstants.getTimestampFromFilename("user.200910-1503.json") ) } -} \ No newline at end of file + + @Test + fun getTimestampFromAutoBackup() { + assertEquals( + DateTime(2020, 9, 10, 15, 3).millis, + BackupConstants.getTimestampFromFilename("auto.20200910T1503.json") + ) + } + + @Test + fun getTimestampFromUserBackup() { + assertEquals( + DateTime(2020, 9, 10, 15, 3).millis, + BackupConstants.getTimestampFromFilename("user.20200910T1503.json") + ) + } +}