diff --git a/SwiftRSS/NSDate+dateFromInternetDateTimeString.swift b/SwiftRSS/NSDate+dateFromInternetDateTimeString.swift index 8d96808..1c01572 100644 --- a/SwiftRSS/NSDate+dateFromInternetDateTimeString.swift +++ b/SwiftRSS/NSDate+dateFromInternetDateTimeString.swift @@ -56,28 +56,28 @@ extension NSDate { { NSDate.internetDateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss zzz" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm zzz" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "EEE, d MMM yyyy HH:mm" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } } else @@ -86,28 +86,28 @@ extension NSDate { { NSDate.internetDateFormatter.dateFormat = "d MMM yyyy HH:mm:ss zzz" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "d MMM yyyy HH:mm zzz" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "d MMM yyyy HH:mm:ss" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "d MMM yyyy HH:mm" - date = NSDate.internetDateFormatter.dateFromString(rfc822_string) + date = NSDate.internetDateFormatter.dateFromString(rfc822_string as String) } } @@ -134,21 +134,21 @@ extension NSDate { { NSDate.internetDateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZ" - date = NSDate.internetDateFormatter.dateFromString(rfc3339_string) + date = NSDate.internetDateFormatter.dateFromString(rfc3339_string as String) } if date == nil // this case may need more work { NSDate.internetDateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSSZZZ" - date = NSDate.internetDateFormatter.dateFromString(rfc3339_string) + date = NSDate.internetDateFormatter.dateFromString(rfc3339_string as String) } if date == nil { NSDate.internetDateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss" - date = NSDate.internetDateFormatter.dateFromString(rfc3339_string) + date = NSDate.internetDateFormatter.dateFromString(rfc3339_string as String) } if date == nil diff --git a/SwiftRSS/RSSFeed.swift b/SwiftRSS/RSSFeed.swift index 30d20c1..4722e5d 100644 --- a/SwiftRSS/RSSFeed.swift +++ b/SwiftRSS/RSSFeed.swift @@ -48,46 +48,46 @@ class RSSFeed: NSObject, NSCoding { feedDescription = aDecoder.decodeObjectForKey("description") as? String language = aDecoder.decodeObjectForKey("language") as? String lastBuildDate = aDecoder.decodeObjectForKey("lastBuildDate") as? NSDate - generator = aDecoder.decodeObjectForKey("generator") as? NSString - copyright = aDecoder.decodeObjectForKey("copyright") as? NSString + generator = aDecoder.decodeObjectForKey("generator") as? String + copyright = aDecoder.decodeObjectForKey("copyright") as? String - items = aDecoder.decodeObjectForKey("items") as [RSSItem] + items = aDecoder.decodeObjectForKey("items") as! [RSSItem] } func encodeWithCoder(aCoder: NSCoder) { - if let title = self.title? + if let title = self.title { aCoder.encodeObject(title, forKey: "title") } - if let link = self.link? + if let link = self.link { aCoder.encodeObject(link, forKey: "link") } - if let feedDescription = self.feedDescription? + if let feedDescription = self.feedDescription { aCoder.encodeObject(feedDescription, forKey: "description") } - if let language = self.language? + if let language = self.language { aCoder.encodeObject(language, forKey: "language") } - if let lastBuildDate = self.lastBuildDate? + if let lastBuildDate = self.lastBuildDate { aCoder.encodeObject(lastBuildDate, forKey: "lastBuildDate") } - if let generator = self.generator? + if let generator = self.generator { aCoder.encodeObject(generator, forKey: "generator") } - if let copyright = self.copyright? + if let copyright = self.copyright { aCoder.encodeObject(copyright, forKey: "copyright") } diff --git a/SwiftRSS/RSSItem.swift b/SwiftRSS/RSSItem.swift index f8915f6..c8ff581 100644 --- a/SwiftRSS/RSSItem.swift +++ b/SwiftRSS/RSSItem.swift @@ -50,7 +50,7 @@ class RSSItem: NSObject, NSCoding { var categories: [String]! = [String]() var imagesFromItemDescription: [NSURL]! { - if let itemDescription = self.itemDescription? + if let itemDescription = self.itemDescription { return itemDescription.imageLinksFromHTMLString } @@ -59,7 +59,7 @@ class RSSItem: NSObject, NSCoding { } var imagesFromContent: [NSURL]! { - if let content = self.content? + if let content = self.content { return content.imageLinksFromHTMLString } @@ -81,8 +81,8 @@ class RSSItem: NSObject, NSCoding { link = aDecoder.decodeObjectForKey("link") as? NSURL guid = aDecoder.decodeObjectForKey("guid") as? String pubDate = aDecoder.decodeObjectForKey("pubDate") as? NSDate - itemDescription = aDecoder.decodeObjectForKey("description") as? NSString - content = aDecoder.decodeObjectForKey("content") as? NSString + itemDescription = aDecoder.decodeObjectForKey("description") as? String + content = aDecoder.decodeObjectForKey("content") as? String commentsLink = aDecoder.decodeObjectForKey("commentsLink") as? NSURL commentsCount = aDecoder.decodeObjectForKey("commentsCount") as? Int commentRSSLink = aDecoder.decodeObjectForKey("commentRSSLink") as? NSURL @@ -92,52 +92,52 @@ class RSSItem: NSObject, NSCoding { func encodeWithCoder(aCoder: NSCoder) { - if let title = self.title? + if let title = self.title { aCoder.encodeObject(title, forKey: "title") } - if let link = self.link? + if let link = self.link { aCoder.encodeObject(link, forKey: "link") } - if let guid = self.guid? + if let guid = self.guid { aCoder.encodeObject(guid, forKey: "guid") } - if let pubDate = self.pubDate? + if let pubDate = self.pubDate { aCoder.encodeObject(pubDate, forKey: "pubDate") } - if let itemDescription = self.itemDescription? + if let itemDescription = self.itemDescription { aCoder.encodeObject(itemDescription, forKey: "description") } - if let content = self.content? + if let content = self.content { aCoder.encodeObject(content, forKey: "content") } - if let commentsLink = self.commentsLink? + if let commentsLink = self.commentsLink { aCoder.encodeObject(commentsLink, forKey: "commentsLink") } - if let commentsCount = self.commentsCount? + if let commentsCount = self.commentsCount { aCoder.encodeObject(commentsCount, forKey: "commentsCount") } - if let commentRSSLink = self.commentRSSLink? + if let commentRSSLink = self.commentRSSLink { aCoder.encodeObject(commentRSSLink, forKey: "commentRSSLink") } - if let author = self.author? + if let author = self.author { aCoder.encodeObject(author, forKey: "author") } diff --git a/SwiftRSS/RSSParser.swift b/SwiftRSS/RSSParser.swift index 46f51fd..7d77156 100644 --- a/SwiftRSS/RSSParser.swift +++ b/SwiftRSS/RSSParser.swift @@ -69,7 +69,7 @@ class RSSParser: NSObject, NSXMLParserDelegate { func parserDidEndDocument(parser: NSXMLParser) { - if let closure = self.callbackClosure? + if let closure = self.callbackClosure { closure(feed: self.feed, error: nil) } @@ -90,7 +90,7 @@ class RSSParser: NSObject, NSXMLParserDelegate { if elementName == node_item { - if let item = self.currentItem? + if let item = self.currentItem { self.feed.items.append(item) } @@ -99,7 +99,7 @@ class RSSParser: NSObject, NSXMLParserDelegate { return } - if let item = self.currentItem? + if let item = self.currentItem { if elementName == node_title { @@ -196,13 +196,15 @@ class RSSParser: NSObject, NSXMLParserDelegate { } } - func parser(parser: NSXMLParser, foundCharacters string: String) { - self.currentElement += string + func parser(parser: NSXMLParser, foundCharacters string: String?) { + if let str = string { + self.currentElement += str + } } func parser(parser: NSXMLParser, parseErrorOccurred parseError: NSError) { - if let closure = self.callbackClosure? + if let closure = self.callbackClosure { closure(feed: nil, error: parseError) } diff --git a/SwiftRSS/String+imageLinksFromHTML.swift b/SwiftRSS/String+imageLinksFromHTML.swift index 578f766..b3edbc7 100644 --- a/SwiftRSS/String+imageLinksFromHTML.swift +++ b/SwiftRSS/String+imageLinksFromHTML.swift @@ -15,7 +15,7 @@ extension String { var error: NSError? - var full_range: NSRange = NSMakeRange(0, countElements(self)) + var full_range: NSRange = NSMakeRange(0, count(self)) if let regex = NSRegularExpression(pattern:"(https?)\\S*(png|jpg|jpeg|gif)", options:.CaseInsensitive, error:&error) { diff --git a/SwiftRSS_Example/AppDelegate.swift b/SwiftRSS_Example/AppDelegate.swift index d5a6913..0bb4dc5 100644 --- a/SwiftRSS_Example/AppDelegate.swift +++ b/SwiftRSS_Example/AppDelegate.swift @@ -16,8 +16,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. - let splitViewController = self.window!.rootViewController as UISplitViewController - let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController + let splitViewController = self.window!.rootViewController as! UISplitViewController + let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem() splitViewController.delegate = self return true diff --git a/SwiftRSS_Example/DetailViewController.swift b/SwiftRSS_Example/DetailViewController.swift index c4a04a4..4f09f99 100644 --- a/SwiftRSS_Example/DetailViewController.swift +++ b/SwiftRSS_Example/DetailViewController.swift @@ -26,25 +26,25 @@ class DetailViewController: UIViewController { if let webView = self.itemWebView { - if let templateURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("template", ofType: "html")!)? + if let templateURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("template", ofType: "html")!) { - if var template = NSString(contentsOfURL: templateURL, encoding: NSUTF8StringEncoding, error: nil)? + if var template = NSString(contentsOfURL: templateURL, encoding: NSUTF8StringEncoding, error: nil) { - if let title = item.title? + if let title = item.title { template = template.stringByReplacingOccurrencesOfString("###TITLE###", withString: title) } - if let content = item.content? + if let content = item.content { template = template.stringByReplacingOccurrencesOfString("###CONTENT###", withString: content) } - else if let description = item.itemDescription? + else if let description = item.itemDescription { template = template.stringByReplacingOccurrencesOfString("###CONTENT###", withString: description) } - if let date = item.pubDate? + if let date = item.pubDate { var formatter = NSDateFormatter() formatter.dateFormat = "MMM dd, yyyy" @@ -52,17 +52,17 @@ class DetailViewController: UIViewController { template = template.stringByReplacingOccurrencesOfString("###DATE###", withString: formatter.stringFromDate(date)) } - webView.loadHTMLString(template, baseURL: nil) + webView.loadHTMLString(template as String, baseURL: nil) } } else { - if let content = item.content? + if let content = item.content { webView.loadHTMLString(content, baseURL: nil) } - else if let description = item.itemDescription? + else if let description = item.itemDescription { webView.loadHTMLString(description, baseURL: nil) } diff --git a/SwiftRSS_Example/MasterViewController.swift b/SwiftRSS_Example/MasterViewController.swift index 74513d7..1495541 100644 --- a/SwiftRSS_Example/MasterViewController.swift +++ b/SwiftRSS_Example/MasterViewController.swift @@ -34,9 +34,9 @@ class MasterViewController: UITableViewController { let request = NSURLRequest(URL: NSURL(string: "http://developer.apple.com/swift/blog/news.rss")!) RSSParser.parseFeedForRequest(request, callback: { (feed, error) -> Void in - if let myFeed = feed? + if let myFeed = feed { - if let title = myFeed.title? + if let title = myFeed.title { self.title = title } @@ -58,10 +58,10 @@ class MasterViewController: UITableViewController { if segue.identifier == "showDetail" { if let indexPath = self.tableView.indexPathForSelectedRow() { - if let feed = self.feed? + if let feed = self.feed { let item = feed.items[indexPath.row] as RSSItem - let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController + let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController controller.detailItem = item controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem() controller.navigationItem.leftItemsSupplementBackButton = true @@ -78,7 +78,7 @@ class MasterViewController: UITableViewController { override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - if let feed = self.feed? + if let feed = self.feed { return feed.items.count } @@ -87,13 +87,13 @@ class MasterViewController: UITableViewController { } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell + let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell - if let feed = self.feed? + if let feed = self.feed { let item = feed.items[indexPath.row] as RSSItem - cell.textLabel.text = item.title + cell.textLabel?.text = item.title } return cell diff --git a/Tests/NSDate+dateFromInternetDateTimeString_Tests.swift b/Tests/NSDate+dateFromInternetDateTimeString_Tests.swift index fdfd29a..1555eb6 100644 --- a/Tests/NSDate+dateFromInternetDateTimeString_Tests.swift +++ b/Tests/NSDate+dateFromInternetDateTimeString_Tests.swift @@ -12,7 +12,7 @@ import XCTest class NSDateExtension_Tests: XCTestCase { let GMT_timeZone: NSTimeZone! = NSTimeZone(forSecondsFromGMT: 0) - let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSGregorianCalendar) + let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian) let calendar_flags = NSCalendarUnit(UInt.max) override func setUp() { @@ -30,7 +30,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "Sun, 19 May 2002 15:21:36 GMT" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -53,7 +53,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "Sun, 19 May 2002 15:21 GMT" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -76,7 +76,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "Sun, 19 May 2002 15:21:36" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -98,7 +98,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "Sun, 19 May 2002 15:21" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -120,7 +120,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "19 May 2002 15:21:36 GMT" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -142,7 +142,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "19 May 2002 15:21 GMT" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -164,7 +164,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "19 May 2002 15:21:36" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -185,7 +185,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "19 May 2002 15:21" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -210,7 +210,7 @@ class NSDateExtension_Tests: XCTestCase { let timeZone = NSTimeZone(forSecondsFromGMT: -60*60*8) calendar.timeZone = timeZone - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -234,7 +234,7 @@ class NSDateExtension_Tests: XCTestCase { let timeZone = NSTimeZone(forSecondsFromGMT: 60*60*2) calendar.timeZone = timeZone - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) @@ -257,7 +257,7 @@ class NSDateExtension_Tests: XCTestCase { let dateString = "1937-01-01T12:00:27" - if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString)? + if let date: NSDate = NSDate.dateFromInternetDateTimeString(dateString) { var dateComponent = calendar.components(calendar_flags, fromDate: date) diff --git a/Tests/RSSFeed_Tests.swift b/Tests/RSSFeed_Tests.swift index 9cdb6a0..45acca2 100644 --- a/Tests/RSSFeed_Tests.swift +++ b/Tests/RSSFeed_Tests.swift @@ -11,7 +11,7 @@ import XCTest class RSSFeed_Tests: XCTestCase { - let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String + let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String override func setUp() { super.setUp() @@ -26,7 +26,7 @@ class RSSFeed_Tests: XCTestCase { var item: RSSItem = RSSItem() item.setLink("http://www.apple.com") - if let link = item.link? + if let link = item.link { XCTAssert(true, "link is valid") } @@ -85,7 +85,7 @@ class RSSFeed_Tests: XCTestCase { NSKeyedArchiver.archiveRootObject(feed, toFile: archive) - var feed2 = NSKeyedUnarchiver.unarchiveObjectWithFile(archive) as RSSFeed + var feed2 = NSKeyedUnarchiver.unarchiveObjectWithFile(archive) as! RSSFeed XCTAssert(feed.title == feed2.title, "") XCTAssert(feed.link == feed2.link, "") diff --git a/Tests/RSSItem_Tests.swift b/Tests/RSSItem_Tests.swift index e967c33..9c062e8 100644 --- a/Tests/RSSItem_Tests.swift +++ b/Tests/RSSItem_Tests.swift @@ -11,7 +11,7 @@ import XCTest class RSSItem_Tests: XCTestCase { - let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String + let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String override func setUp() { super.setUp() @@ -26,7 +26,7 @@ class RSSItem_Tests: XCTestCase { var item: RSSItem = RSSItem() item.setLink("http://www.apple.com") - if let link = item.link? + if let link = item.link { XCTAssert(true, "link is valid") } @@ -57,7 +57,7 @@ class RSSItem_Tests: XCTestCase { NSKeyedArchiver.archiveRootObject(item, toFile: archive) - var item2 = NSKeyedUnarchiver.unarchiveObjectWithFile(archive) as RSSItem + var item2 = NSKeyedUnarchiver.unarchiveObjectWithFile(archive) as! RSSItem XCTAssert(item.title == item2.title, "") XCTAssert(item.link == item2.link, "") diff --git a/Tests/RSSParser_Tests.swift b/Tests/RSSParser_Tests.swift index b2532c3..f152848 100644 --- a/Tests/RSSParser_Tests.swift +++ b/Tests/RSSParser_Tests.swift @@ -20,7 +20,7 @@ class RSSParser_Tests: XCTestCase { let PDT_timeZone: NSTimeZone! = NSTimeZone(name: "PST") let GMT_timeZone: NSTimeZone! = NSTimeZone(name: "GMT") let DST_timeZone: NSTimeZone! = NSTimeZone(forSecondsFromGMT: 60 * 60 * -4) - let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSGregorianCalendar) + let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian) let calendar_flags = NSCalendarUnit(UInt.max) override func setUp() { @@ -44,10 +44,10 @@ class RSSParser_Tests: XCTestCase { XCTAssertNil(error, "error should be nil") - if let testFeed = feed? + if let testFeed = feed { XCTAssert(testFeed.title == "Swift Blog - Apple Developer", "") - if let link = testFeed.link? + if let link = testFeed.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/", "") } @@ -55,7 +55,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(testFeed.language == "en-US", "") - if let date = testFeed.lastBuildDate? + if let date = testFeed.lastBuildDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -82,7 +82,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Building assert() in Swift, Part 2: __FILE__ and __LINE__ ", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=15", "") } @@ -93,7 +93,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=15", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -118,7 +118,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Swift Has Reached 1.0", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=14", "") } @@ -129,7 +129,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=14", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -154,7 +154,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Patterns Playground", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=13", "") } @@ -165,7 +165,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=13", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -190,7 +190,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Optionals Case Study: valuesForKeys ", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=12", "") } @@ -201,7 +201,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=12", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -226,7 +226,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Access Control and protected ", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=11", "") } @@ -237,7 +237,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=11", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -262,7 +262,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Value and Reference Types", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=10", "") } @@ -273,7 +273,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=10", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -298,7 +298,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Balloons", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=9", "") } @@ -309,7 +309,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=9", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -362,7 +362,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Welcome to Swift Blog", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://developer.apple.com/swift/blog/?id=1", "") } @@ -373,7 +373,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://developer.apple.com/swift/blog/?id=1", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -415,12 +415,12 @@ class RSSParser_Tests: XCTestCase { XCTAssertNil(error, "error should be nil") - if let testFeed = feed? + if let testFeed = feed { XCTAssertTrue(testFeed.items.count == 10, "should have 10 items") XCTAssert(testFeed.title == "WordPress.com News", "") - if let link = testFeed.link? + if let link = testFeed.link { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com", "") } @@ -428,7 +428,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(testFeed.language == "en", "") - if let date = testFeed.lastBuildDate? + if let date = testFeed.lastBuildDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -453,7 +453,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Engaged, Inspired, and Ready to Build a Better Web", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/30/grand-meetup-reflections/", "") } @@ -464,7 +464,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://en.blog.wordpress.com/?p=28737", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -488,7 +488,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.imagesFromItemDescription.count == 1, "") XCTAssert(myItem.imagesFromItemDescription[0].absoluteString == "http://pixel.wp.com/b.gif", "") - if let link = myItem.commentsLink? + if let link = myItem.commentsLink { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/30/grand-meetup-reflections/#comments", "") } @@ -497,7 +497,7 @@ class RSSParser_Tests: XCTestCase { XCTFail("link shouldn't be nil") } - if let link = myItem.commentRSSLink? + if let link = myItem.commentRSSLink { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/30/grand-meetup-reflections/feed/", "") } @@ -519,7 +519,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Gmail Password Leak Update", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/12/gmail-password-leak-update/", "") } @@ -530,7 +530,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://en.blog.wordpress.com/?p=28615", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -554,7 +554,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.imagesFromItemDescription.count == 1, "") XCTAssert(myItem.imagesFromItemDescription[0].absoluteString == "http://pixel.wp.com/b.gif", "") - if let link = myItem.commentsLink? + if let link = myItem.commentsLink { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/12/gmail-password-leak-update/#comments", "") } @@ -563,7 +563,7 @@ class RSSParser_Tests: XCTestCase { XCTFail("link shouldn't be nil") } - if let link = myItem.commentRSSLink? + if let link = myItem.commentRSSLink { XCTAssert(link.absoluteString == "http://en.blog.wordpress.com/2014/09/12/gmail-password-leak-update/feed/", "") } @@ -615,12 +615,12 @@ class RSSParser_Tests: XCTestCase { XCTAssertNil(error, "error should be nil") - if let testFeed = feed? + if let testFeed = feed { XCTAssertTrue(testFeed.items.count == 20, "should have 20 items") XCTAssert(testFeed.title == "Tumblr Engineering", "") - if let link = testFeed.link? + if let link = testFeed.link { XCTAssert(link.absoluteString == "http://engineering.tumblr.com/", "") } @@ -632,7 +632,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Sam Giddins: My Summer at TumblrThis summer, I had the immense...", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://engineering.tumblr.com/post/98331642904", "") } @@ -643,7 +643,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://engineering.tumblr.com/post/98331642904", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date) @@ -670,7 +670,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.title == "Megan Belzner: My Summer at TumblrThis summer I got the amazing...", "") - if let link = myItem.link? + if let link = myItem.link { XCTAssert(link.absoluteString == "http://engineering.tumblr.com/post/98050002584", "") } @@ -681,7 +681,7 @@ class RSSParser_Tests: XCTestCase { XCTAssert(myItem.guid == "http://engineering.tumblr.com/post/98050002584", "") - if let date = myItem.pubDate? + if let date = myItem.pubDate { var dateComponent = self.calendar.components(self.calendar_flags, fromDate: date)