Add old filename to matcher

pull/2164/head
Alex Baker 2 years ago
parent bc906090aa
commit bd1101d73e

@ -10,7 +10,7 @@ object BackupConstants {
const val EXPORT_FILE_NAME = "user.%s.json" const val EXPORT_FILE_NAME = "user.%s.json"
const val BACKUP_FILE_NAME = "auto.%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 fun isBackupFile(name: String?) = name?.let { MATCHER.matcher(it).matches() } ?: false
@ -32,7 +32,7 @@ object BackupConstants {
.takeIf { it.matches() } .takeIf { it.matches() }
?.let { ?.let {
DateTime( DateTime(
it.group(2)!!.toInt(), it.group(2)!!.toInt().let { y -> if (y > 2000) y else y + 2000 },
it.group(3)!!.toInt(), it.group(3)!!.toInt(),
it.group(4)!!.toInt(), it.group(4)!!.toInt(),
it.group(5)!!.toInt(), it.group(5)!!.toInt(),

@ -1,6 +1,8 @@
package org.tasks.backup 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.junit.Test
import org.tasks.time.DateTime import org.tasks.time.DateTime
@ -21,7 +23,7 @@ class BackupConstantsTest {
} }
@Test @Test
fun getTimestampFromAutoBackup() { fun getTimestampFromAutoBackupTwoDigits() {
assertEquals( assertEquals(
DateTime(2020, 9, 10, 15, 3).millis, DateTime(2020, 9, 10, 15, 3).millis,
BackupConstants.getTimestampFromFilename("auto.200910-1503.json") BackupConstants.getTimestampFromFilename("auto.200910-1503.json")
@ -29,10 +31,26 @@ class BackupConstantsTest {
} }
@Test @Test
fun getTimestampFromUserBackup() { fun getTimestampFromUserBackupTwoDigits() {
assertEquals( assertEquals(
DateTime(2020, 9, 10, 15, 3).millis, DateTime(2020, 9, 10, 15, 3).millis,
BackupConstants.getTimestampFromFilename("user.200910-1503.json") BackupConstants.getTimestampFromFilename("user.200910-1503.json")
) )
} }
@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")
)
}
} }
Loading…
Cancel
Save