diff --git a/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript b/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript
index b3fe5533a..9f738094f 100644
--- a/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript
+++ b/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript
@@ -36,7 +36,7 @@ set totalFeeds to 0
tell application "NetNewsWire"
set allAccounts to every account
repeat with nthAccount in allAccounts
- set allFeeds to every feed of nthAccount
+ set allFeeds to every webFeed of nthAccount
repeat with nthFeed in allFeeds
set feedname to name of nthFeed
set articleCount to count (get every article of nthFeed)
diff --git a/AppleScript/Safari-OpenAllStarredArticles.applescript b/AppleScript/Safari-OpenAllStarredArticles.applescript
index cad33bb4d..a1cba2ec0 100644
--- a/AppleScript/Safari-OpenAllStarredArticles.applescript
+++ b/AppleScript/Safari-OpenAllStarredArticles.applescript
@@ -38,7 +38,7 @@ set safariWindow to missing value
tell application "NetNewsWire"
set allAccounts to every account
repeat with nthAccount in allAccounts
- set allFeeds to every feed of nthAccount
+ set allFeeds to every webFeed of nthAccount
repeat with nthFeed in allFeeds
set starredArticles to (get every article of nthFeed where starred is true)
repeat with nthArticle in starredArticles
diff --git a/Mac/Resources/NetNewsWire.sdef b/Mac/Resources/NetNewsWire.sdef
index 3f445d602..ab63c5db3 100644
--- a/Mac/Resources/NetNewsWire.sdef
+++ b/Mac/Resources/NetNewsWire.sdef
@@ -60,8 +60,8 @@
-
-
+
+
@@ -88,30 +88,30 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
@@ -164,8 +164,8 @@
-
-
+
+
diff --git a/Mac/Scriptability/Account+Scriptability.swift b/Mac/Scriptability/Account+Scriptability.swift
index c2cc7667a..7d6f7428b 100644
--- a/Mac/Scriptability/Account+Scriptability.swift
+++ b/Mac/Scriptability/Account+Scriptability.swift
@@ -73,7 +73,7 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
account.removeFolder(scriptableFolder.folder) { result in
}
}
- } else if let scriptableFeed = element as? ScriptableFeed {
+ } else if let scriptableFeed = element as? ScriptableWebFeed {
BatchUpdate.shared.perform {
var container: Container? = nil
if let scriptableFolder = scriptableFeed.container as? ScriptableFolder {
@@ -94,23 +94,23 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
// MARK: --- Scriptable elements ---
- @objc(feeds)
- var feeds:NSArray {
- return account.topLevelWebFeeds.map { ScriptableFeed($0, container:self) } as NSArray
+ @objc(webFeeds)
+ var webFeeds:NSArray {
+ return account.topLevelWebFeeds.map { ScriptableWebFeed($0, container:self) } as NSArray
}
- @objc(valueInFeedsWithUniqueID:)
- func valueInFeeds(withUniqueID id:String) -> ScriptableFeed? {
+ @objc(valueInWebFeedsWithUniqueID:)
+ func valueInWebFeeds(withUniqueID id:String) -> ScriptableWebFeed? {
let feeds = Array(account.topLevelWebFeeds)
guard let feed = feeds.first(where:{$0.webFeedID == id}) else { return nil }
- return ScriptableFeed(feed, container:self)
+ return ScriptableWebFeed(feed, container:self)
}
- @objc(valueInFeedsWithName:)
- func valueInFeeds(withName name:String) -> ScriptableFeed? {
+ @objc(valueInWebFeedsWithName:)
+ func valueInWebFeeds(withName name:String) -> ScriptableWebFeed? {
let feeds = Array(account.topLevelWebFeeds)
guard let feed = feeds.first(where:{$0.name == name}) else { return nil }
- return ScriptableFeed(feed, container:self)
+ return ScriptableWebFeed(feed, container:self)
}
@objc(folders)
@@ -131,21 +131,21 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
// MARK: --- Scriptable properties ---
- @objc(allFeeds)
- var allFeeds: NSArray {
- var feeds = [ScriptableFeed]()
- for feed in account.topLevelWebFeeds {
- feeds.append(ScriptableFeed(feed, container: self))
+ @objc(allWebFeeds)
+ var allWebFeeds: NSArray {
+ var webFeeds = [ScriptableWebFeed]()
+ for webFeed in account.topLevelWebFeeds {
+ webFeeds.append(ScriptableWebFeed(webFeed, container: self))
}
if let folders = account.folders {
for folder in folders {
let scriptableFolder = ScriptableFolder(folder, container: self)
- for feed in folder.topLevelWebFeeds {
- feeds.append(ScriptableFeed(feed, container: scriptableFolder))
+ for webFeed in folder.topLevelWebFeeds {
+ webFeeds.append(ScriptableWebFeed(webFeed, container: scriptableFolder))
}
}
}
- return feeds as NSArray
+ return webFeeds as NSArray
}
@objc(opmlRepresentation)
diff --git a/Mac/Scriptability/AppDelegate+Scriptability.swift b/Mac/Scriptability/AppDelegate+Scriptability.swift
index 13e1e5e31..84bed12b1 100644
--- a/Mac/Scriptability/AppDelegate+Scriptability.swift
+++ b/Mac/Scriptability/AppDelegate+Scriptability.swift
@@ -59,8 +59,8 @@ extension AppDelegate : AppDelegateAppleEvents {
class NetNewsWireCreateElementCommand : NSCreateCommand {
override func performDefaultImplementation() -> Any? {
let classDescription = self.createClassDescription
- if (classDescription.className == "feed") {
- return ScriptableFeed.handleCreateElement(command:self)
+ if (classDescription.className == "webFeed") {
+ return ScriptableWebFeed.handleCreateElement(command:self)
} else if (classDescription.className == "folder") {
return ScriptableFolder.handleCreateElement(command:self)
}
diff --git a/Mac/Scriptability/Folder+Scriptability.swift b/Mac/Scriptability/Folder+Scriptability.swift
index 406f04490..2229ce3a7 100644
--- a/Mac/Scriptability/Folder+Scriptability.swift
+++ b/Mac/Scriptability/Folder+Scriptability.swift
@@ -51,7 +51,7 @@ class ScriptableFolder: NSObject, UniqueIdScriptingObject, ScriptingObjectContai
}
func deleteElement(_ element:ScriptingObject) {
- if let scriptableFeed = element as? ScriptableFeed {
+ if let scriptableFeed = element as? ScriptableWebFeed {
BatchUpdate.shared.perform {
folder.account?.removeWebFeed(scriptableFeed.webFeed, from: folder) { result in }
}
@@ -95,10 +95,10 @@ class ScriptableFolder: NSObject, UniqueIdScriptingObject, ScriptingObjectContai
// MARK: --- Scriptable elements ---
- @objc(feeds)
- var feeds:NSArray {
+ @objc(webFeeds)
+ var webFeeds:NSArray {
let feeds = Array(folder.topLevelWebFeeds)
- return feeds.map { ScriptableFeed($0, container:self) } as NSArray
+ return feeds.map { ScriptableWebFeed($0, container:self) } as NSArray
}
// MARK: --- Scriptable properties ---
diff --git a/Mac/Scriptability/NSApplication+Scriptability.swift b/Mac/Scriptability/NSApplication+Scriptability.swift
index 90f9aaffe..b99095259 100644
--- a/Mac/Scriptability/NSApplication+Scriptability.swift
+++ b/Mac/Scriptability/NSApplication+Scriptability.swift
@@ -31,7 +31,7 @@ extension NSApplication : ScriptingObjectContainer {
var scriptableArticle: ScriptableArticle?
if let currentArticle = appDelegate.scriptingCurrentArticle {
if let feed = currentArticle.webFeed {
- let scriptableFeed = ScriptableFeed(feed, container:self)
+ let scriptableFeed = ScriptableWebFeed(feed, container:self)
scriptableArticle = ScriptableArticle(currentArticle, container:scriptableFeed)
}
}
@@ -43,7 +43,7 @@ extension NSApplication : ScriptingObjectContainer {
let articles = appDelegate.scriptingSelectedArticles
let scriptableArticles:[ScriptableArticle] = articles.compactMap { article in
if let feed = article.webFeed {
- let scriptableFeed = ScriptableFeed(feed, container:self)
+ let scriptableFeed = ScriptableWebFeed(feed, container:self)
return ScriptableArticle(article, container:scriptableFeed)
} else {
return nil
@@ -73,7 +73,7 @@ extension NSApplication : ScriptingObjectContainer {
for 'articles of feed "The Shape of Everything" of account "On My Mac"'
*/
- func allFeeds() -> [WebFeed] {
+ func allWebFeeds() -> [WebFeed] {
let accounts = AccountManager.shared.activeAccounts
let emptyFeeds:[WebFeed] = []
return accounts.reduce(emptyFeeds) { (result, nthAccount) -> [WebFeed] in
@@ -82,17 +82,17 @@ extension NSApplication : ScriptingObjectContainer {
}
}
- @objc(feeds)
- func feeds() -> NSArray {
- let feeds = self.allFeeds()
- return feeds.map { ScriptableFeed($0, container:self) } as NSArray
+ @objc(webFeeds)
+ func webFeeds() -> NSArray {
+ let webFeeds = self.allWebFeeds()
+ return webFeeds.map { ScriptableWebFeed($0, container:self) } as NSArray
}
- @objc(valueInFeedsWithUniqueID:)
- func valueInFeeds(withUniqueID id:String) -> ScriptableFeed? {
- let feeds = self.allFeeds()
- guard let feed = feeds.first(where:{$0.webFeedID == id}) else { return nil }
- return ScriptableFeed(feed, container:self)
+ @objc(valueInWebFeedsWithUniqueID:)
+ func valueInWebFeeds(withUniqueID id:String) -> ScriptableWebFeed? {
+ let webFeeds = self.allWebFeeds()
+ guard let webFeed = webFeeds.first(where:{$0.webFeedID == id}) else { return nil }
+ return ScriptableWebFeed(webFeed, container:self)
}
}
diff --git a/Mac/Scriptability/Feed+Scriptability.swift b/Mac/Scriptability/WebFeed+Scriptability.swift
similarity index 93%
rename from Mac/Scriptability/Feed+Scriptability.swift
rename to Mac/Scriptability/WebFeed+Scriptability.swift
index caed94af9..47f701901 100644
--- a/Mac/Scriptability/Feed+Scriptability.swift
+++ b/Mac/Scriptability/WebFeed+Scriptability.swift
@@ -11,14 +11,14 @@ import RSParser
import Account
import Articles
-@objc(ScriptableFeed)
-class ScriptableFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContainer {
+@objc(ScriptableWebFeed)
+class ScriptableWebFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContainer {
let webFeed:WebFeed
let container:ScriptingObjectContainer
- init (_ feed:WebFeed, container:ScriptingObjectContainer) {
- self.webFeed = feed
+ init (_ webFeed:WebFeed, container:ScriptingObjectContainer) {
+ self.webFeed = webFeed
self.container = container
}
@@ -36,7 +36,7 @@ class ScriptableFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContaine
// MARK: --- ScriptingObject protocol ---
var scriptingKey: String {
- return "feeds"
+ return "webFeeds"
}
// MARK: --- UniqueIdScriptingObject protocol ---
@@ -71,13 +71,13 @@ class ScriptableFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContaine
return url
}
- class func scriptableFeed(_ feed:WebFeed, account:Account, folder:Folder?) -> ScriptableFeed {
+ class func scriptableFeed(_ feed:WebFeed, account:Account, folder:Folder?) -> ScriptableWebFeed {
let scriptableAccount = ScriptableAccount(account)
if let folder = folder {
let scriptableFolder = ScriptableFolder(folder, container:scriptableAccount)
- return ScriptableFeed(feed, container:scriptableFolder)
+ return ScriptableWebFeed(feed, container:scriptableFolder)
} else {
- return ScriptableFeed(feed, container:scriptableAccount)
+ return ScriptableWebFeed(feed, container:scriptableAccount)
}
}
diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj
index 8bac9c20b..e5f714d63 100644
--- a/NetNewsWire.xcodeproj/project.pbxproj
+++ b/NetNewsWire.xcodeproj/project.pbxproj
@@ -384,7 +384,7 @@
65ED4037235DEF6C0081F399 /* FolderTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97A11ED9F180007D329B /* FolderTreeControllerDelegate.swift */; };
65ED4038235DEF6C0081F399 /* RSImage-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51126DA3225FDE2F00722696 /* RSImage-Extensions.swift */; };
65ED4039235DEF6C0081F399 /* SingleFaviconDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845A29081FC74B8E007B49E3 /* SingleFaviconDownloader.swift */; };
- 65ED403A235DEF6C0081F399 /* Feed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* Feed+Scriptability.swift */; };
+ 65ED403A235DEF6C0081F399 /* WebFeed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */; };
65ED403B235DEF6C0081F399 /* AuthorAvatarDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E850851FCB60CE0072EA88 /* AuthorAvatarDownloader.swift */; };
65ED403C235DEF6C0081F399 /* SingleLineTextFieldSizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E185B2203B74E500F69BFA /* SingleLineTextFieldSizer.swift */; };
65ED403D235DEF6C0081F399 /* TimelineTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97741ED9EC04007D329B /* TimelineTableCellView.swift */; };
@@ -622,7 +622,7 @@
D5E4CC54202C1361009B4FFC /* AppDelegate+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E4CC53202C1361009B4FFC /* AppDelegate+Scriptability.swift */; };
D5E4CC64202C1AC1009B4FFC /* MainWindowController+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E4CC63202C1AC1009B4FFC /* MainWindowController+Scriptability.swift */; };
D5F4EDB5200744A700B9E363 /* ScriptingObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB4200744A700B9E363 /* ScriptingObject.swift */; };
- D5F4EDB720074D6500B9E363 /* Feed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* Feed+Scriptability.swift */; };
+ D5F4EDB720074D6500B9E363 /* WebFeed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */; };
D5F4EDB920074D7C00B9E363 /* Folder+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */; };
DD82AB0A231003F6002269DF /* SharingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD82AB09231003F6002269DF /* SharingTests.swift */; };
FF3ABF13232599810074C542 /* ArticleSorterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF09232599450074C542 /* ArticleSorterTests.swift */; };
@@ -1549,7 +1549,7 @@
D5E4CC53202C1361009B4FFC /* AppDelegate+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+Scriptability.swift"; sourceTree = ""; };
D5E4CC63202C1AC1009B4FFC /* MainWindowController+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MainWindowController+Scriptability.swift"; sourceTree = ""; };
D5F4EDB4200744A700B9E363 /* ScriptingObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScriptingObject.swift; sourceTree = ""; };
- D5F4EDB620074D6500B9E363 /* Feed+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Feed+Scriptability.swift"; sourceTree = ""; };
+ D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebFeed+Scriptability.swift"; sourceTree = ""; };
D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = ""; };
DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; };
FF3ABF09232599450074C542 /* ArticleSorterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorterTests.swift; sourceTree = ""; };
@@ -2689,7 +2689,7 @@
D5E4CC53202C1361009B4FFC /* AppDelegate+Scriptability.swift */,
D553737C20186C1F006D8857 /* Article+Scriptability.swift */,
D5A2678B20130ECF00A8D3C0 /* Author+Scriptability.swift */,
- D5F4EDB620074D6500B9E363 /* Feed+Scriptability.swift */,
+ D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */,
D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */,
D5E4CC63202C1AC1009B4FFC /* MainWindowController+Scriptability.swift */,
D5907D7E2004AC00005947E5 /* NSApplication+Scriptability.swift */,
@@ -3848,7 +3848,7 @@
65ED4037235DEF6C0081F399 /* FolderTreeControllerDelegate.swift in Sources */,
65ED4038235DEF6C0081F399 /* RSImage-Extensions.swift in Sources */,
65ED4039235DEF6C0081F399 /* SingleFaviconDownloader.swift in Sources */,
- 65ED403A235DEF6C0081F399 /* Feed+Scriptability.swift in Sources */,
+ 65ED403A235DEF6C0081F399 /* WebFeed+Scriptability.swift in Sources */,
65ED403B235DEF6C0081F399 /* AuthorAvatarDownloader.swift in Sources */,
65ED403C235DEF6C0081F399 /* SingleLineTextFieldSizer.swift in Sources */,
65ED403D235DEF6C0081F399 /* TimelineTableCellView.swift in Sources */,
@@ -4137,7 +4137,7 @@
849A97A31ED9F180007D329B /* FolderTreeControllerDelegate.swift in Sources */,
51126DA4225FDE2F00722696 /* RSImage-Extensions.swift in Sources */,
845A29091FC74B8E007B49E3 /* SingleFaviconDownloader.swift in Sources */,
- D5F4EDB720074D6500B9E363 /* Feed+Scriptability.swift in Sources */,
+ D5F4EDB720074D6500B9E363 /* WebFeed+Scriptability.swift in Sources */,
84E850861FCB60CE0072EA88 /* AuthorAvatarDownloader.swift in Sources */,
84E185B3203B74E500F69BFA /* SingleLineTextFieldSizer.swift in Sources */,
849A977A1ED9EC04007D329B /* TimelineTableCellView.swift in Sources */,
diff --git a/Tests/NetNewsWireTests/ArticleSorterTests.swift b/Tests/NetNewsWireTests/ArticleSorterTests.swift
index 1991e88ff..131b7b676 100644
--- a/Tests/NetNewsWireTests/ArticleSorterTests.swift
+++ b/Tests/NetNewsWireTests/ArticleSorterTests.swift
@@ -19,10 +19,10 @@ class ArticleSorterTests: XCTestCase {
func testSortByDateAscending() {
let now = Date()
- let article1 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-60.0), sortableArticleID: "1", sortableFeedID: "4")
- let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(60.0), sortableArticleID: "2", sortableFeedID: "6")
- let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(120.0), sortableArticleID: "3", sortableFeedID: "6")
- let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-120.0), sortableArticleID: "4", sortableFeedID: "5")
+ let article1 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-60.0), sortableArticleID: "1", sortableWebFeedID: "4")
+ let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(60.0), sortableArticleID: "2", sortableWebFeedID: "6")
+ let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(120.0), sortableArticleID: "3", sortableWebFeedID: "6")
+ let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-120.0), sortableArticleID: "4", sortableWebFeedID: "5")
let articles = [article1, article2, article3, article4]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -40,11 +40,11 @@ class ArticleSorterTests: XCTestCase {
let now = Date()
// Articles with the same date should end up being sorted by their article ID
- let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "1")
- let article2 = TestArticle(sortableName: "Matt's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "2")
- let article3 = TestArticle(sortableName: "Sally's Feed", sortableDate: now, sortableArticleID: "3", sortableFeedID: "3")
- let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: Date(timeInterval: -60.0, since: now), sortableArticleID: "4", sortableFeedID: "4")
- let article5 = TestArticle(sortableName: "Paul's Feed", sortableDate: Date(timeInterval: -120.0, since: now), sortableArticleID: "5", sortableFeedID: "5")
+ let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "1")
+ let article2 = TestArticle(sortableName: "Matt's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "2")
+ let article3 = TestArticle(sortableName: "Sally's Feed", sortableDate: now, sortableArticleID: "3", sortableWebFeedID: "3")
+ let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: Date(timeInterval: -60.0, since: now), sortableArticleID: "4", sortableWebFeedID: "4")
+ let article5 = TestArticle(sortableName: "Paul's Feed", sortableDate: Date(timeInterval: -120.0, since: now), sortableArticleID: "5", sortableWebFeedID: "5")
let articles = [article1, article2, article3, article4, article5]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -62,15 +62,15 @@ class ArticleSorterTests: XCTestCase {
func testSortByDateAscendingWithGroupByFeed() {
let now = Date()
- let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: Date(timeInterval: -100.0, since: now), sortableArticleID: "1", sortableFeedID: "1")
- let article2 = TestArticle(sortableName: "Jenny's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "2")
- let article3 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableFeedID: "2")
- let article4 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -1000.0, since: now), sortableArticleID: "1", sortableFeedID: "3")
- let article5 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableFeedID: "3")
- let article6 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: 10.0, since: now), sortableArticleID: "3", sortableFeedID: "2")
- let article7 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "1")
- let article8 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "0")
- let article9 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "0")
+ let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: Date(timeInterval: -100.0, since: now), sortableArticleID: "1", sortableWebFeedID: "1")
+ let article2 = TestArticle(sortableName: "Jenny's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "2")
+ let article3 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableWebFeedID: "2")
+ let article4 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -1000.0, since: now), sortableArticleID: "1", sortableWebFeedID: "3")
+ let article5 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableWebFeedID: "3")
+ let article6 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: 10.0, since: now), sortableArticleID: "3", sortableWebFeedID: "2")
+ let article7 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "1")
+ let article8 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "0")
+ let article9 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "0")
let articles = [article1, article2, article3, article4, article5, article6, article7, article8, article9]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles, sortDirection: .orderedAscending, groupByFeed: true)
@@ -97,10 +97,10 @@ class ArticleSorterTests: XCTestCase {
func testSortByDateDescending() {
let now = Date()
- let article1 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-60.0), sortableArticleID: "1", sortableFeedID: "4")
- let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(60.0), sortableArticleID: "2", sortableFeedID: "6")
- let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(120.0), sortableArticleID: "3", sortableFeedID: "6")
- let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-120.0), sortableArticleID: "4", sortableFeedID: "5")
+ let article1 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-60.0), sortableArticleID: "1", sortableWebFeedID: "4")
+ let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(60.0), sortableArticleID: "2", sortableWebFeedID: "6")
+ let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now.addingTimeInterval(120.0), sortableArticleID: "3", sortableWebFeedID: "6")
+ let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: now.addingTimeInterval(-120.0), sortableArticleID: "4", sortableWebFeedID: "5")
let articles = [article1, article2, article3, article4]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -118,11 +118,11 @@ class ArticleSorterTests: XCTestCase {
let now = Date()
// Articles with the same date should end up being sorted by their article ID
- let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "1")
- let article2 = TestArticle(sortableName: "Matt's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "2")
- let article3 = TestArticle(sortableName: "Sally's Feed", sortableDate: now, sortableArticleID: "3", sortableFeedID: "3")
- let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: Date(timeInterval: -60.0, since: now), sortableArticleID: "4", sortableFeedID: "4")
- let article5 = TestArticle(sortableName: "Paul's Feed", sortableDate: Date(timeInterval: -120.0, since: now), sortableArticleID: "5", sortableFeedID: "5")
+ let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "1")
+ let article2 = TestArticle(sortableName: "Matt's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "2")
+ let article3 = TestArticle(sortableName: "Sally's Feed", sortableDate: now, sortableArticleID: "3", sortableWebFeedID: "3")
+ let article4 = TestArticle(sortableName: "Susie's Feed", sortableDate: Date(timeInterval: -60.0, since: now), sortableArticleID: "4", sortableWebFeedID: "4")
+ let article5 = TestArticle(sortableName: "Paul's Feed", sortableDate: Date(timeInterval: -120.0, since: now), sortableArticleID: "5", sortableWebFeedID: "5")
let articles = [article1, article2, article3, article4, article5]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -140,15 +140,15 @@ class ArticleSorterTests: XCTestCase {
func testSortByDateDescendingWithGroupByFeed() {
let now = Date()
- let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: Date(timeInterval: -100.0, since: now), sortableArticleID: "1", sortableFeedID: "1")
- let article2 = TestArticle(sortableName: "Jenny's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "2")
- let article3 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableFeedID: "2")
- let article4 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -1000.0, since: now), sortableArticleID: "1", sortableFeedID: "3")
- let article5 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableFeedID: "3")
- let article6 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: 10.0, since: now), sortableArticleID: "3", sortableFeedID: "2")
- let article7 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "1")
- let article8 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "0")
- let article9 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "0")
+ let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: Date(timeInterval: -100.0, since: now), sortableArticleID: "1", sortableWebFeedID: "1")
+ let article2 = TestArticle(sortableName: "Jenny's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "2")
+ let article3 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableWebFeedID: "2")
+ let article4 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -1000.0, since: now), sortableArticleID: "1", sortableWebFeedID: "3")
+ let article5 = TestArticle(sortableName: "Gordy's Blog", sortableDate: Date(timeInterval: -10.0, since: now), sortableArticleID: "2", sortableWebFeedID: "3")
+ let article6 = TestArticle(sortableName: "Jenny's Feed", sortableDate: Date(timeInterval: 10.0, since: now), sortableArticleID: "3", sortableWebFeedID: "2")
+ let article7 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "1")
+ let article8 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "0")
+ let article9 = TestArticle(sortableName: "Zippy's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "0")
let articles = [article1, article2, article3, article4, article5, article6, article7, article8, article9]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles, sortDirection: .orderedDescending, groupByFeed: true)
@@ -175,11 +175,11 @@ class ArticleSorterTests: XCTestCase {
func testGroupByFeedWithCaseInsensitiveFeedNames() {
let now = Date()
- let article1 = TestArticle(sortableName: "phil's feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "1")
- let article2 = TestArticle(sortableName: "PhIl's FEed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "1")
- let article3 = TestArticle(sortableName: "APPLE's feed", sortableDate: now, sortableArticleID: "3", sortableFeedID: "2")
- let article4 = TestArticle(sortableName: "PHIL'S FEED", sortableDate: now, sortableArticleID: "4", sortableFeedID: "1")
- let article5 = TestArticle(sortableName: "apple's feed", sortableDate: now, sortableArticleID: "5", sortableFeedID: "2")
+ let article1 = TestArticle(sortableName: "phil's feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "1")
+ let article2 = TestArticle(sortableName: "PhIl's FEed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "1")
+ let article3 = TestArticle(sortableName: "APPLE's feed", sortableDate: now, sortableArticleID: "3", sortableWebFeedID: "2")
+ let article4 = TestArticle(sortableName: "PHIL'S FEED", sortableDate: now, sortableArticleID: "4", sortableWebFeedID: "1")
+ let article5 = TestArticle(sortableName: "apple's feed", sortableDate: now, sortableArticleID: "5", sortableWebFeedID: "2")
let articles = [article1, article2, article3, article4, article5]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -201,11 +201,11 @@ class ArticleSorterTests: XCTestCase {
let now = Date()
// Articles with the same feed name should be sorted by feed ID
- let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableFeedID: "2")
- let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableFeedID: "2")
- let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "3", sortableFeedID: "1")
- let article4 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "4", sortableFeedID: "2")
- let article5 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "5", sortableFeedID: "1")
+ let article1 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "1", sortableWebFeedID: "2")
+ let article2 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "2", sortableWebFeedID: "2")
+ let article3 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "3", sortableWebFeedID: "1")
+ let article4 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "4", sortableWebFeedID: "2")
+ let article5 = TestArticle(sortableName: "Phil's Feed", sortableDate: now, sortableArticleID: "5", sortableWebFeedID: "1")
let articles = [article1, article2, article3, article4, article5]
let sortedArticles = ArticleSorter.sortedByDate(articles: articles,
@@ -226,7 +226,7 @@ private struct TestArticle: SortableArticle, Equatable {
let sortableName: String
let sortableDate: Date
let sortableArticleID: String
- let sortableFeedID: String
+ let sortableWebFeedID: String
}
private extension Array where Element == TestArticle {
diff --git a/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedExists.applescript b/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedExists.applescript
index 098c1ff61..8eafaad24 100644
--- a/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedExists.applescript
+++ b/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedExists.applescript
@@ -1,7 +1,7 @@
-- this script just tests that no error was generated from the script
try
tell application "NetNewsWire"
- exists feed 1 of account 1
+ exists webFeed 1 of account 1
end tell
on error message
return {test_result:false, script_result:message}
diff --git a/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedOPML.applescript b/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedOPML.applescript
index 5d28a8604..dc4b422bb 100644
--- a/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedOPML.applescript
+++ b/Tests/NetNewsWireTests/ScriptingTests/scripts/testFeedOPML.applescript
@@ -1,7 +1,7 @@
-- this script just tests that no error was generated from the script
try
tell application "NetNewsWire"
- opml representation of feed 1 of account 1
+ opml representation of webFeed 1 of account 1
end tell
on error message
return {test_result:false, script_result:message}
diff --git a/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameAndUrlOfEveryFeed.applescript b/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameAndUrlOfEveryFeed.applescript
index 86268914b..7e21f3991 100644
--- a/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameAndUrlOfEveryFeed.applescript
+++ b/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameAndUrlOfEveryFeed.applescript
@@ -1,7 +1,7 @@
-- this script just tests that no error was generated from the script
try
tell application "NetNewsWire"
- {name, url} of every feed of every account
+ {name, url} of every webFeed of every account
end tell
on error message
return {test_result:false, script_result:message}
diff --git a/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameOfAuthors.applescript b/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameOfAuthors.applescript
index db15bab30..d88df5b9c 100644
--- a/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameOfAuthors.applescript
+++ b/Tests/NetNewsWireTests/ScriptingTests/scripts/testNameOfAuthors.applescript
@@ -2,7 +2,7 @@
-- and that the returned list is greater than 0
try
tell application "NetNewsWire"
- set namesResult to name of every author of every feed of every account
+ set namesResult to name of every author of every webFeed of every account
end tell
set test_result to ((count items of namesResult) > 0)
on error message
diff --git a/Tests/NetNewsWireTests/SharingTests.swift b/Tests/NetNewsWireTests/SharingTests.swift
index 4ce4455f9..8e8d801e4 100644
--- a/Tests/NetNewsWireTests/SharingTests.swift
+++ b/Tests/NetNewsWireTests/SharingTests.swift
@@ -39,24 +39,7 @@ class SharingTests: XCTestCase {
private func article(titled title: String) -> Article {
let articleId = randomId()
- return Article(
- accountID: randomId(),
- articleID: articleId,
- feedID: randomId(),
- uniqueID: randomId(),
- title: title,
- contentHTML: nil,
- contentText: nil,
- url: nil,
- externalURL: nil,
- summary: nil,
- imageURL: nil,
- bannerImageURL: nil,
- datePublished: nil,
- dateModified: nil,
- authors: nil,
- attachments: nil,
- status: ArticleStatus(articleID: articleId, read: true, dateArrived: Date())
+ return Article(accountID: randomId(), articleID: articleId, webFeedID: randomId(), uniqueID: randomId(), title: title, contentHTML: nil, contentText: nil, url: nil, externalURL: nil, summary: nil, imageURL: nil, bannerImageURL: nil, datePublished: nil, dateModified: nil, authors: nil, attachments: nil, status: ArticleStatus(articleID: articleId, read: true, dateArrived: Date())
)
}