diff --git a/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift b/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift index c97744244..f05a0fcc7 100644 --- a/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift +++ b/Frameworks/RSParser/Feeds/JSON/JSONFeedParser.swift @@ -34,8 +34,8 @@ public struct JSONFeedParser { let feedURL = parsedObject["feed_url"] as? String ?? parserData.url let feedDescription = parsedObject["description"] as? String let nextURL = parsedObject["next_url"] as? String - let iconURL = parsedObject["icon_url"] as? String - let faviconURL = parsedObject["favicon_url"] as? String + let iconURL = parsedObject["icon"] as? String + let faviconURL = parsedObject["favicon"] as? String let expired = parsedObject["expired"] as? Bool ?? false let hubs = parseHubs(parsedObject) @@ -149,9 +149,7 @@ private extension JSONFeedParser { guard let attachmentsArray = itemDictionary["attachments"] as? JSONArray else { return nil } - return Set(attachmentsArray.flatMap { (oneAttachmentObject) -> ParsedAttachment? in - return parseAttachment(oneAttachmentObject) - }) + return Set(attachmentsArray.flatMap { parseAttachment($0) }) } static func parseAttachment(_ attachmentObject: JSONDictionary) -> ParsedAttachment? { diff --git a/Frameworks/RSParser/RSParserTests/JSONFeedParserTests.swift b/Frameworks/RSParser/RSParserTests/JSONFeedParserTests.swift index b7e1a34c4..f7c45d309 100644 --- a/Frameworks/RSParser/RSParserTests/JSONFeedParserTests.swift +++ b/Frameworks/RSParser/RSParserTests/JSONFeedParserTests.swift @@ -50,4 +50,12 @@ class JSONFeedParserTests: XCTestCase { XCTAssert(false, "Expected to find “The Talk Show: ‘I Do Like Throwing a Baby’” article.") } + func testGettingFaviconAndIconURLs() { + + let d = parserData("DaringFireball", "json", "http://daringfireball.net/") + let parsedFeed = try! FeedParser.parse(d)! + + XCTAssert(parsedFeed.faviconURL == "https://daringfireball.net/graphics/favicon-64.png") + XCTAssert(parsedFeed.iconURL == "https://daringfireball.net/graphics/apple-touch-icon.png") + } }