Fixed mime type of media:content tags

This commit is contained in:
ByteHamster 2020-07-21 11:55:44 +02:00
parent ecbcafd209
commit 51bbf1a5f9
2 changed files with 27 additions and 1 deletions

View File

@ -2,6 +2,8 @@ package de.test.antennapod.handler;
import androidx.test.filters.SmallTest;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.feed.MediaType;
import de.danoeh.antennapod.core.syndication.namespace.NSMedia;
import de.test.antennapod.util.syndication.feedgenerator.Rss2Generator;
import org.junit.Test;
import org.xmlpull.v1.XmlSerializer;
@ -39,4 +41,23 @@ public class RssParserTest extends FeedParserTestBase {
}, "UTF-8", 0);
assertEquals(image, f2.getImageUrl());
}
@Test
public void testMediaContentMime() throws Exception {
Feed f1 = createTestFeed(0, false);
f1.setImageUrl(null);
Feed f2 = runFeedTest(f1, new Rss2Generator() {
@Override
protected void writeAdditionalAttributes(XmlSerializer xml) throws IOException {
xml.setPrefix(NSMedia.NSTAG, NSMedia.NSURI);
xml.startTag(null, "item");
xml.startTag(NSMedia.NSURI, "content");
xml.attribute(null, "url", "https://www.example.com/file.mp4");
xml.attribute(null, "medium", "video");
xml.endTag(NSMedia.NSURI, "content");
xml.endTag(null, "item");
}
}, "UTF-8", 0);
assertEquals(MediaType.VIDEO, f2.getItems().get(0).getMedia().getMediaType());
}
}

View File

@ -50,10 +50,15 @@ public class NSMedia extends Namespace {
boolean isDefault = "true".equals(defaultStr);
if (MEDIUM_AUDIO.equals(medium) || MEDIUM_VIDEO.equals(medium)) {
if (MEDIUM_AUDIO.equals(medium)) {
validTypeMedia = true;
type = "audio/*";
} else if (MEDIUM_VIDEO.equals(medium)) {
validTypeMedia = true;
type = "video/*";
} else if (MEDIUM_IMAGE.equals(medium)) {
validTypeImage = true;
type = "image/*";
} else {
if (type == null) {
type = SyndTypeUtils.getMimeTypeFromUrl(url);