diff --git a/lib/services/plex_lyrics_parser.dart b/lib/services/plex_lyrics_parser.dart index ed4c4bab..b058b2d0 100644 --- a/lib/services/plex_lyrics_parser.dart +++ b/lib/services/plex_lyrics_parser.dart @@ -22,7 +22,7 @@ Lyrics? parsePlexLyricsResponse(Object? raw) { if (trimmed.startsWith('<')) { try { return _parseXmlLyrics(trimmed); - } on XmlParserException { + } on XmlException { return null; } } diff --git a/test/services/plex_lyrics_parser_test.dart b/test/services/plex_lyrics_parser_test.dart index 4c740ff9..b2dd6367 100644 --- a/test/services/plex_lyrics_parser_test.dart +++ b/test/services/plex_lyrics_parser_test.dart @@ -60,4 +60,10 @@ void main() { expect(plain!.synced, isFalse); expect(plain.lines.map((line) => line.text), ['Plain first line', 'Plain second line']); }); + + test('returns null for XML with unclosed tags', () { + final lyrics = parsePlexLyricsResponse(''); + + expect(lyrics, isNull); + }); }