assertFalse($cleaner->cleanForMatching('Film ;-)/Extreem Online Contact.url')); } public function test_clean_for_matching_rejects_generic_dvd_structure_files(): void { $cleaner = new FileNameCleaner; $this->assertFalse($cleaner->cleanForMatching('Film ;-)/VIDEO_TS/VIDEO_TS.VOB')); $this->assertFalse($cleaner->cleanForMatching('Film ;-)/VIDEO_TS/VTS_01_1.VOB')); $this->assertFalse($cleaner->cleanForMatching('Film ;-)/1.jpg')); } public function test_clean_for_matching_keeps_useful_cover_names(): void { $cleaner = new FileNameCleaner; $this->assertSame('cover the fisher king', $cleaner->cleanForMatching('Film ;-)/cover the fisher king.jpg')); } public function test_normalize_candidate_title_removes_pdf_extension(): void { $cleaner = new FileNameCleaner; $this->assertSame('WOB Klassik 4.25', $cleaner->normalizeCandidateTitle('WOB Klassik 4.25.Pdf')); } public function test_format_search_name_keeps_scene_titles_dotted(): void { $cleaner = new FileNameCleaner; $this->assertSame( 'Southern.Charm.S11E12.Even.Further.South.720p.AMZN.WEB-DL.DDP2.0.H.264-NTb', $cleaner->formatSearchName('Southern Charm S11E12 Even Further South 720p AMZN WEB-DL DDP2 0 H 264-NTb.mkv') ); } }