diff --git a/lib/domain/media/group.dart b/lib/domain/media/group.dart index f8e4e6e..1640510 100644 --- a/lib/domain/media/group.dart +++ b/lib/domain/media/group.dart @@ -5,6 +5,8 @@ import 'package:dart_rss/domain/media/rating.dart'; import 'package:dart_rss/util/helpers.dart'; import 'package:xml/xml.dart'; +import 'thumbnail.dart'; + class Group { static Group? parse(XmlElement? element) { if (element == null) { @@ -14,6 +16,7 @@ class Group { return Group( contents: element.findElements('media:content').map((e) => Content.parse(e)).toList(), credits: element.findElements('media:credit').map((e) => Credit.parse(e)).toList(), + thumbnails: element.findElements('media:thumbnail').map((e) => Thumbnail.parse(e)).toList(), category: Category.parse(findElementOrNull(element, 'media:category')), rating: Rating.parse(findElementOrNull(element, 'media:rating')), ); @@ -22,12 +25,14 @@ class Group { const Group({ this.contents = const [], this.credits = const [], + this.thumbnails = const [], this.category, this.rating, }); final List contents; final List credits; + final List thumbnails; final Category? category; final Rating? rating; } diff --git a/test/atom_test.dart b/test/atom_test.dart index 1c8fd24..31f8e36 100644 --- a/test/atom_test.dart +++ b/test/atom_test.dart @@ -112,6 +112,12 @@ void main() { expect(item.media!.group!.category!.value, 'music/artist name/album/song'); expect(item.media!.group!.rating!.value, 'nonadult'); + final mediaGroupThumbnail = item.media!.group!.thumbnails.first; + expect(mediaGroupThumbnail.url, 'http://www.foo.com/keyframe1.jpg'); + expect(mediaGroupThumbnail.width, '75'); + expect(mediaGroupThumbnail.height, '50'); + expect(mediaGroupThumbnail.time, '12:05:01.123'); + expect(item.media!.contents.length, 2); final mediaContent = item.media!.contents.first; expect(mediaContent.url, 'http://www.foo.com/video.mov'); diff --git a/test/xml/Atom-Media.xml b/test/xml/Atom-Media.xml index 7f0ab84..080fc10 100644 --- a/test/xml/Atom-Media.xml +++ b/test/xml/Atom-Media.xml @@ -50,6 +50,7 @@ band member 2 music/artist name/album/song nonadult + The Judy's -- The Moo Song This was some really bizarre band I listened to as a young lad.