Tests/Unit/Repair.Tests.ps1
|
#Requires -Modules @{ModuleName='Pester';ModuleVersion='5.0.0'} BeforeAll { $ModulePath = Join-Path $PSScriptRoot '..\..\SubtitleTools.psd1' Import-Module $ModulePath -Force $FixturesPath = Join-Path $PSScriptRoot '..\Fixtures' } Describe 'Repair-SubtitleNumbering' { It 'Renumbers out-of-order block numbers sequentially' { $sub = Import-SubtitleFile -Path (Join-Path $FixturesPath 'malformed_numbering.srt') $repaired = Repair-SubtitleNumbering -InputObject $sub $repaired.Entries[0].Index | Should -Be 1 $repaired.Entries[1].Index | Should -Be 2 $repaired.Entries[2].Index | Should -Be 3 } } Describe 'Repair-SubtitleOverlap' { It 'Resolves overlaps with Trim strategy' { $sub = Import-SubtitleFile -Path (Join-Path $FixturesPath 'overlapping_timestamps.srt') $repaired = $sub | Repair-SubtitleOverlap -Strategy Trim $overlap = $repaired | Test-SubtitleOverlap $overlap.WarningCount | Should -Be 0 } It 'Resolves overlaps with Drop strategy by removing overlapping entry' { $sub = Import-SubtitleFile -Path (Join-Path $FixturesPath 'overlapping_timestamps.srt') $original = $sub.Entries.Count $repaired = $sub | Repair-SubtitleOverlap -Strategy Drop $repaired.Entries.Count | Should -BeLessThan $original } } Describe 'Repair-SrtFile' { It 'Returns a SubtitleFile with sequential numbering' { $repaired = Repair-SrtFile -Path (Join-Path $FixturesPath 'malformed_numbering.srt') $repaired.Entries[0].Index | Should -Be 1 $repaired.Entries[-1].Index | Should -Be $repaired.Entries.Count } } |