From d4538e6fe638224652b5bf8ec2f87a66497b0711 Mon Sep 17 00:00:00 2001 From: Wito Chandra Date: Mon, 26 Apr 2021 00:12:48 +0700 Subject: [PATCH] fix tests --- lib/domain/itunes/itunes.dart | 15 ++++++++------- lib/util/string.dart | 2 -- test/rss_test.dart | 13 +++++++------ 3 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 lib/util/string.dart diff --git a/lib/domain/itunes/itunes.dart b/lib/domain/itunes/itunes.dart index 486de06..b8a52fa 100644 --- a/lib/domain/itunes/itunes.dart +++ b/lib/domain/itunes/itunes.dart @@ -3,7 +3,6 @@ import 'package:webfeed/domain/itunes/itunes_episode_type.dart'; import 'package:webfeed/domain/itunes/itunes_image.dart'; import 'package:webfeed/domain/itunes/itunes_owner.dart'; import 'package:webfeed/domain/itunes/itunes_type.dart'; -import 'package:webfeed/util/string.dart'; import 'package:webfeed/util/iterable.dart'; import 'package:webfeed/util/xml.dart'; import 'package:xml/xml.dart'; @@ -48,10 +47,12 @@ class Itunes { }); factory Itunes.parse(XmlElement element) { - final episodeStr = element.findElements('itunes:episode').firstOrNull?.text; - final seasonStr = element.findElements('itunes:season').firstOrNull?.text; + final episodeStr = + element.findElements('itunes:episode').firstOrNull?.text ?? ''; + final seasonStr = + element.findElements('itunes:season').firstOrNull?.text ?? ''; final durationStr = - element.findElements('itunes:duration').firstOrNull?.text; + element.findElements('itunes:duration').firstOrNull?.text ?? ''; return Itunes( author: element.findElements('itunes:author').firstOrNull?.text, summary: element.findElements('itunes:summary').firstOrNull?.text, @@ -85,9 +86,9 @@ class Itunes { newFeedUrl: element.findElements('itunes:new-feed-url').firstOrNull?.text, block: parseBoolLiteral(element, 'itunes:block'), complete: parseBoolLiteral(element, 'itunes:complete'), - episode: isNullOrEmpty(episodeStr) ? null : int.tryParse(episodeStr), - season: isNullOrEmpty(seasonStr) ? null : int.tryParse(seasonStr), - duration: isNullOrEmpty(durationStr) ? null : _parseDuration(durationStr), + episode: episodeStr.isNotEmpty ? int.tryParse(episodeStr) : null, + season: seasonStr.isNotEmpty ? int.tryParse(seasonStr) : null, + duration: durationStr.isNotEmpty ? _parseDuration(durationStr) : null, episodeType: element .findElements('itunes:episodeType') .map((e) => newItunesEpisodeType(e)) diff --git a/lib/util/string.dart b/lib/util/string.dart deleted file mode 100644 index da6716f..0000000 --- a/lib/util/string.dart +++ /dev/null @@ -1,2 +0,0 @@ - -bool isNullOrEmpty(String s) => s?.isEmpty ?? true; diff --git a/test/rss_test.dart b/test/rss_test.dart index 10087db..fa3d789 100644 --- a/test/rss_test.dart +++ b/test/rss_test.dart @@ -372,15 +372,16 @@ void main() { }); test('parse RSS-Itunes_item_empty_field.xml with empty duration field', () { - var xmlString = File('test/xml/RSS-Itunes_item_empty_field.xml').readAsStringSync(); + var xmlString = + File('test/xml/RSS-Itunes_item_empty_field.xml').readAsStringSync(); var feed = RssFeed.parse(xmlString); - expect(feed.itunes.owner.name, 'Changelog Media'); - var item = feed.items[0]; - expect(item.itunes.episodeType, ItunesEpisodeType.full); - expect(item.itunes.duration, null); - expect(item.itunes.title, 'awesome title'); + expect(feed.itunes?.owner?.name, 'Changelog Media'); + var item = feed.items![0]; + expect(item.itunes?.episodeType, ItunesEpisodeType.full); + expect(item.itunes?.duration, null); + expect(item.itunes?.title, 'awesome title'); }); test('parse RSS-RDF.xml', () {