Uncomment and revise code in HTMLMetadataTests.
This commit is contained in:
parent
3bc02a78a3
commit
986dbd679c
@ -7,146 +7,147 @@
|
||||
//
|
||||
|
||||
import XCTest
|
||||
import HTMLParser
|
||||
|
||||
//class HTMLMetadataTests: XCTestCase {
|
||||
//
|
||||
// func testDaringFireball() {
|
||||
//
|
||||
// let d = parserData("DaringFireball", "html", "http://daringfireball.net/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
//
|
||||
// XCTAssertEqual(metadata.favicons.first?.urlString, "http://daringfireball.net/graphics/favicon.ico?v=005")
|
||||
//
|
||||
// XCTAssertEqual(metadata.feedLinks.count, 1)
|
||||
//
|
||||
// let feedLink = metadata.feedLinks.first!
|
||||
// XCTAssertNil(feedLink.title)
|
||||
// XCTAssertEqual(feedLink.type, "application/atom+xml")
|
||||
// XCTAssertEqual(feedLink.urlString, "http://daringfireball.net/feeds/main")
|
||||
// }
|
||||
//
|
||||
// func testDaringFireballPerformance() {
|
||||
//
|
||||
// // 0.002 sec on my 2012 iMac
|
||||
// let d = parserData("DaringFireball", "html", "http://daringfireball.net/")
|
||||
// self.measure {
|
||||
// let _ = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func testFurbo() {
|
||||
//
|
||||
// let d = parserData("furbo", "html", "http://furbo.org/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
//
|
||||
// XCTAssertEqual(metadata.favicons.first?.urlString, "http://furbo.org/favicon.ico")
|
||||
//
|
||||
// XCTAssertEqual(metadata.feedLinks.count, 1)
|
||||
//
|
||||
// let feedLink = metadata.feedLinks.first!
|
||||
// XCTAssertEqual(feedLink.title, "Iconfactory News Feed")
|
||||
// XCTAssertEqual(feedLink.type, "application/rss+xml")
|
||||
// }
|
||||
//
|
||||
// func testFurboPerformance() {
|
||||
//
|
||||
// // 0.001 sec on my 2012 iMac
|
||||
// let d = parserData("furbo", "html", "http://furbo.org/")
|
||||
// self.measure {
|
||||
// let _ = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func testInessential() {
|
||||
//
|
||||
// let d = parserData("inessential", "html", "http://inessential.com/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
//
|
||||
// XCTAssertNil(metadata.favicons.first?.urlString)
|
||||
//
|
||||
// XCTAssertEqual(metadata.feedLinks.count, 1)
|
||||
// let feedLink = metadata.feedLinks.first!
|
||||
// XCTAssertEqual(feedLink.title, "RSS")
|
||||
// XCTAssertEqual(feedLink.type, "application/rss+xml")
|
||||
// XCTAssertEqual(feedLink.urlString, "http://inessential.com/xml/rss.xml")
|
||||
//
|
||||
// XCTAssertEqual(metadata.appleTouchIcons.count, 0);
|
||||
// }
|
||||
//
|
||||
// func testInessentialPerformance() {
|
||||
//
|
||||
// // 0.001 sec on my 2012 iMac
|
||||
// let d = parserData("inessential", "html", "http://inessential.com/")
|
||||
// self.measure {
|
||||
// let _ = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func testCocoPerformance() {
|
||||
//
|
||||
// // 0.004 sec on my 2012 iMac
|
||||
// let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
// self.measure {
|
||||
// let _ = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func testSixColors() {
|
||||
//
|
||||
// let d = parserData("sixcolors", "html", "http://sixcolors.com/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
//
|
||||
// XCTAssertEqual(metadata.favicons.first?.urlString, "https://sixcolors.com/images/favicon.ico")
|
||||
//
|
||||
// XCTAssertEqual(metadata.feedLinks.count, 1);
|
||||
// let feedLink = metadata.feedLinks.first!
|
||||
// XCTAssertEqual(feedLink.title, "RSS");
|
||||
// XCTAssertEqual(feedLink.type, "application/rss+xml");
|
||||
// XCTAssertEqual(feedLink.urlString, "http://feedpress.me/sixcolors");
|
||||
//
|
||||
// XCTAssertEqual(metadata.appleTouchIcons.count, 6);
|
||||
// let icon = metadata.appleTouchIcons[3];
|
||||
// XCTAssertEqual(icon.rel, "apple-touch-icon");
|
||||
// XCTAssertEqual(icon.sizes, "120x120");
|
||||
// XCTAssertEqual(icon.urlString, "https://sixcolors.com/apple-touch-icon-120.png");
|
||||
// }
|
||||
//
|
||||
// func testSixColorsPerformance() {
|
||||
//
|
||||
// // 0.002 sec on my 2012 iMac
|
||||
// let d = parserData("sixcolors", "html", "http://sixcolors.com/")
|
||||
// self.measure {
|
||||
// let _ = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func testCocoOGImage() {
|
||||
//
|
||||
// let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// let openGraphData = metadata.openGraphProperties
|
||||
// let image = openGraphData.images.first!
|
||||
// XCTAssert(image.url == "https://cdn.theatlantic.com/assets/media/img/mt/2017/11/1033101_first_full_length_trailer_arrives_pixars_coco/facebook.jpg?1511382177")
|
||||
// }
|
||||
//
|
||||
// func testCocoTwitterImage() {
|
||||
//
|
||||
// let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
// let twitterData = metadata.twitterProperties
|
||||
// let imageURL = twitterData.imageURL!
|
||||
// XCTAssert(imageURL == "https://cdn.theatlantic.com/assets/media/img/mt/2017/11/1033101_first_full_length_trailer_arrives_pixars_coco/facebook.jpg?1511382177")
|
||||
// }
|
||||
//
|
||||
// func testYouTube() {
|
||||
// // YouTube is a special case — the feed links appear after the head section, in the body section.
|
||||
// let d = parserData("YouTubeTheVolvoRocks", "html", "https://www.youtube.com/user/TheVolvorocks")
|
||||
// let metadata = RSHTMLMetadataParser.htmlMetadata(with: d)
|
||||
//
|
||||
// XCTAssertEqual(metadata.feedLinks.count, 1);
|
||||
// let feedLink = metadata.feedLinks.first!
|
||||
// XCTAssertEqual(feedLink.title, "RSS");
|
||||
// XCTAssertEqual(feedLink.type, "application/rss+xml");
|
||||
// XCTAssertEqual(feedLink.urlString, "https://www.youtube.com/feeds/videos.xml?channel_id=UCct7QF2jcWRY6dhXWMSq9LQ");
|
||||
// }
|
||||
//}
|
||||
final class HTMLMetadataTests: XCTestCase {
|
||||
|
||||
func testDaringFireball() {
|
||||
|
||||
let d = parserData("DaringFireball", "html", "http://daringfireball.net/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
|
||||
XCTAssertEqual(metadata.favicons?.first?.urlString, "http://daringfireball.net/graphics/favicon.ico?v=005")
|
||||
|
||||
XCTAssertEqual(metadata.feedLinks?.count, 1)
|
||||
|
||||
let feedLink: HTMLMetadataFeedLink = (metadata.feedLinks?.first!)!
|
||||
XCTAssertNil(feedLink.title)
|
||||
XCTAssertEqual(feedLink.type, "application/atom+xml")
|
||||
XCTAssertEqual(feedLink.urlString, "http://daringfireball.net/feeds/main")
|
||||
}
|
||||
|
||||
func testDaringFireballPerformance() {
|
||||
|
||||
// 0.002 sec on my 2012 iMac
|
||||
let d = parserData("DaringFireball", "html", "http://daringfireball.net/")
|
||||
self.measure {
|
||||
let _ = HTMLMetadataParser.metadata(with: d)
|
||||
}
|
||||
}
|
||||
|
||||
func testFurbo() {
|
||||
|
||||
let d = parserData("furbo", "html", "http://furbo.org/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
|
||||
XCTAssertEqual(metadata.favicons?.first?.urlString, "http://furbo.org/favicon.ico")
|
||||
|
||||
XCTAssertEqual(metadata.feedLinks?.count, 1)
|
||||
|
||||
let feedLink = (metadata.feedLinks?.first!)!
|
||||
XCTAssertEqual(feedLink.title, "Iconfactory News Feed")
|
||||
XCTAssertEqual(feedLink.type, "application/rss+xml")
|
||||
}
|
||||
|
||||
func testFurboPerformance() {
|
||||
|
||||
// 0.001 sec on my 2012 iMac
|
||||
let d = parserData("furbo", "html", "http://furbo.org/")
|
||||
self.measure {
|
||||
let _ = HTMLMetadataParser.metadata(with: d)
|
||||
}
|
||||
}
|
||||
|
||||
func testInessential() {
|
||||
|
||||
let d = parserData("inessential", "html", "http://inessential.com/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
|
||||
XCTAssertNil(metadata.favicons?.first?.urlString)
|
||||
|
||||
XCTAssertEqual(metadata.feedLinks?.count, 1)
|
||||
let feedLink = (metadata.feedLinks?.first!)!
|
||||
XCTAssertEqual(feedLink.title, "RSS")
|
||||
XCTAssertEqual(feedLink.type, "application/rss+xml")
|
||||
XCTAssertEqual(feedLink.urlString, "http://inessential.com/xml/rss.xml")
|
||||
|
||||
XCTAssertEqual(metadata.appleTouchIcons?.count ?? 0, 0);
|
||||
}
|
||||
|
||||
func testInessentialPerformance() {
|
||||
|
||||
// 0.001 sec on my 2012 iMac
|
||||
let d = parserData("inessential", "html", "http://inessential.com/")
|
||||
self.measure {
|
||||
let _ = HTMLMetadataParser.metadata(with: d)
|
||||
}
|
||||
}
|
||||
|
||||
func testCocoPerformance() {
|
||||
|
||||
// 0.004 sec on my 2012 iMac
|
||||
let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
self.measure {
|
||||
let _ = HTMLMetadataParser.metadata(with: d)
|
||||
}
|
||||
}
|
||||
|
||||
func testSixColors() {
|
||||
|
||||
let d = parserData("sixcolors", "html", "http://sixcolors.com/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
|
||||
XCTAssertEqual(metadata.favicons?.first?.urlString, "https://sixcolors.com/images/favicon.ico")
|
||||
|
||||
XCTAssertEqual(metadata.feedLinks?.count, 1);
|
||||
let feedLink = (metadata.feedLinks?.first!)!
|
||||
XCTAssertEqual(feedLink.title, "RSS");
|
||||
XCTAssertEqual(feedLink.type, "application/rss+xml");
|
||||
XCTAssertEqual(feedLink.urlString, "http://feedpress.me/sixcolors");
|
||||
|
||||
XCTAssertEqual(metadata.appleTouchIcons!.count, 6);
|
||||
let icon = metadata.appleTouchIcons![3];
|
||||
XCTAssertEqual(icon.rel, "apple-touch-icon");
|
||||
XCTAssertEqual(icon.sizes, "120x120");
|
||||
XCTAssertEqual(icon.urlString, "https://sixcolors.com/apple-touch-icon-120.png");
|
||||
}
|
||||
|
||||
func testSixColorsPerformance() {
|
||||
|
||||
// 0.002 sec on my 2012 iMac
|
||||
let d = parserData("sixcolors", "html", "http://sixcolors.com/")
|
||||
self.measure {
|
||||
let _ = HTMLMetadataParser.metadata(with: d)
|
||||
}
|
||||
}
|
||||
|
||||
func testCocoOGImage() {
|
||||
|
||||
let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
let openGraphData = metadata.openGraphProperties!
|
||||
let image = openGraphData.image!
|
||||
XCTAssert(image.url == "https://cdn.theatlantic.com/assets/media/img/mt/2017/11/1033101_first_full_length_trailer_arrives_pixars_coco/facebook.jpg?1511382177")
|
||||
}
|
||||
|
||||
func testCocoTwitterImage() {
|
||||
|
||||
let d = parserData("coco", "html", "https://www.theatlantic.com/entertainment/archive/2017/11/coco-is-among-pixars-best-movies-in-years/546695/")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
let twitterData = metadata.twitterProperties!
|
||||
let imageURL = twitterData.imageURL!
|
||||
XCTAssert(imageURL == "https://cdn.theatlantic.com/assets/media/img/mt/2017/11/1033101_first_full_length_trailer_arrives_pixars_coco/facebook.jpg?1511382177")
|
||||
}
|
||||
|
||||
func testYouTube() {
|
||||
// YouTube is a special case — the feed links appear after the head section, in the body section.
|
||||
let d = parserData("YouTubeTheVolvoRocks", "html", "https://www.youtube.com/user/TheVolvorocks")
|
||||
let metadata = HTMLMetadataParser.metadata(with: d)
|
||||
|
||||
XCTAssertEqual(metadata.feedLinks!.count, 1);
|
||||
let feedLink = metadata.feedLinks!.first!
|
||||
XCTAssertEqual(feedLink.title, "RSS");
|
||||
XCTAssertEqual(feedLink.type, "application/rss+xml");
|
||||
XCTAssertEqual(feedLink.urlString, "https://www.youtube.com/feeds/videos.xml?channel_id=UCct7QF2jcWRY6dhXWMSq9LQ");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user