// // JSONFeedParserTests.swift // RSParser // // Created by Brent Simmons on 6/26/17. // Copyright © 2017 Ranchero Software, LLC. All rights reserved. // import XCTest import FeedParser //class JSONFeedParserTests: XCTestCase { // // func testInessentialPerformance() { // // // 0.001 sec on my 2012 iMac. // let d = parserData("inessential", "json", "http://inessential.com/") // self.measure { // let _ = try! FeedParser.parseSync(d) // } // } // // func testDaringFireballPerformance() { // // // 0.009 sec on my 2012 iMac. // let d = parserData("DaringFireball", "json", "http://daringfireball.net/") // self.measure { // let _ = try! FeedParser.parseSync(d) // } // } // // func testGettingFaviconAndIconURLs() async { // // let d = parserData("DaringFireball", "json", "http://daringfireball.net/") // let parsedFeed = try! await FeedParser.parse(d)! // // XCTAssert(parsedFeed.faviconURL == "https://daringfireball.net/graphics/favicon-64.png") // XCTAssert(parsedFeed.iconURL == "https://daringfireball.net/graphics/apple-touch-icon.png") // } // // func testAllThis() async { // // let d = parserData("allthis", "json", "http://leancrew.com/allthis/") // let parsedFeed = try! await FeedParser.parse(d)! // // XCTAssertEqual(parsedFeed.items.count, 12) // } // // func testCurt() async { // // let d = parserData("curt", "json", "http://curtclifton.net/") // let parsedFeed = try! await FeedParser.parse(d)! // // XCTAssertEqual(parsedFeed.items.count, 26) // // var didFindTwitterQuitterArticle = false // for article in parsedFeed.items { // if article.title == "Twitter Quitter" { // didFindTwitterQuitterArticle = true // XCTAssertTrue(article.contentHTML!.hasPrefix("
I’ve decided to close my Twitter account. William Van Hecke makes a convincing case")) // } // } // // XCTAssertTrue(didFindTwitterQuitterArticle) // } // // func testPixelEnvy() async { // // let d = parserData("pxlnv", "json", "http://pxlnv.com/") // let parsedFeed = try! await FeedParser.parse(d)! // XCTAssertEqual(parsedFeed.items.count, 20) // // } // // func testRose() async { // let d = parserData("rose", "json", "http://www.rosemaryorchard.com/") // let parsedFeed = try! await FeedParser.parse(d)! // XCTAssertEqual(parsedFeed.items.count, 84) // } // // func test3960() async { // let d = parserData("3960", "json", "http://journal.3960.org/") // let parsedFeed = try! await FeedParser.parse(d)! // XCTAssertEqual(parsedFeed.items.count, 20) // XCTAssertEqual(parsedFeed.language, "de-DE") // // for item in parsedFeed.items { // XCTAssertEqual(item.language, "de-DE") // } // } // // func testAuthors() async { // let d = parserData("authors", "json", "https://example.com/") // let parsedFeed = try! await FeedParser.parse(d)! // XCTAssertEqual(parsedFeed.items.count, 4) // // let rootAuthors = Set([ // ParsedAuthor(name: "Root Author 1", url: nil, avatarURL: nil, emailAddress: nil), // ParsedAuthor(name: "Root Author 2", url: nil, avatarURL: nil, emailAddress: nil) // ]) // let itemAuthors = Set([ // ParsedAuthor(name: "Item Author 1", url: nil, avatarURL: nil, emailAddress: nil), // ParsedAuthor(name: "Item Author 2", url: nil, avatarURL: nil, emailAddress: nil) // ]) // let legacyItemAuthors = Set([ // ParsedAuthor(name: "Legacy Item Author", url: nil, avatarURL: nil, emailAddress: nil) // ]) // // XCTAssertEqual(parsedFeed.authors?.count, 2) // XCTAssertEqual(parsedFeed.authors, rootAuthors) // // let noAuthorsItem = parsedFeed.items.first { $0.uniqueID == "Item without authors" }! // XCTAssertEqual(noAuthorsItem.authors, nil) // // let legacyAuthorItem = parsedFeed.items.first { $0.uniqueID == "Item with legacy author" }! // XCTAssertEqual(legacyAuthorItem.authors, legacyItemAuthors) // // let modernAuthorsItem = parsedFeed.items.first { $0.uniqueID == "Item with modern authors" }! // XCTAssertEqual(modernAuthorsItem.authors, itemAuthors) // // let bothAuthorsItem = parsedFeed.items.first { $0.uniqueID == "Item with both" }! // XCTAssertEqual(bothAuthorsItem.authors, itemAuthors) // } //}