1package com.peachpasswords.ui.vault23import org.junit.Assume.assumeTrue4import com.peachpasswords.vault.PeachScript5import org.junit.Test6import java.io.File7import org.junit.Assert.assertTrue89101112131415161718class RealBackupDecodeTest {1920 private val backup = File(System.getProperty("user.home"), "Downloads/peach-backup-2026-07-24.peach")2122 @Test fun real_backup_is_recognised_and_decodes_to_bytes() {23 assumeTrue("no local backup artifact", backup.exists())24 val text = backup.readText()25 println("chars=${text.length}")2627 assertTrue("looksLikePeachScript rejected a real export", PeachScriptImport.looksLikePeachScript(text))2829 val normalised = PeachScript.normalise(text)30 assertTrue("normalise broke the sniff", PeachScript.isPeachScript(normalised))3132 33 34 val bytes = PeachScript.decode(normalised)35 println("decoded bytes=${bytes.size}")36 assertTrue("decoded to nothing", bytes.isNotEmpty())37 }3839 @Test fun wrong_password_is_reported_as_wrong_not_corrupted() {40 assumeTrue("no local backup artifact", backup.exists())41 val result = PeachScriptImport.decryptAndParse(backup.readText(), "definitely-not-the-password")42 println("result=$result")43 assertTrue(44 "a real export with a bad password should report WrongPassword, got $result",45 result is PeachScriptImport.DecryptResult.WrongPassword,46 )47 }48}