// // ScriptingTests.swift // NetNewsWireTests // // Created by Olof Hellman on 1/7/18. // Copyright © 2018 Olof Hellman. All rights reserved. // import XCTest //class ScriptingTests: AppleScriptXCTestCase { // // override func setUp() { // super.setUp() // } // // override func tearDown() { // super.tearDown() // } // // // /* // @function testGenericScript // @brief An example of how a script can be run as part of an XCTest // the applescript returns // {test_result:true, script_result:"Geoducks!"} // doIndividualScript() verifies the test_result portion // this code verifies the script_result portion // */ // func testGenericScript() { // let scriptResult = doIndividualScript(filename: "testGenericScript") // XCTAssert( scriptResult?.stringValue == "Geoducks!") // } // // func testGetUrlScript() { // _ = doIndividualScript(filename: "testGetURL") // } // // func testNameAndUrlOfEveryFeedScript() { // _ = doIndividualScript(filename: "testNameAndUrlOfEveryFeed") // } // // func testNameOfEveryFolderScript() { // _ = doIndividualScript(filename: "testNameOfEveryFolder") // } // // func testNameOfAuthorsScript() { // _ = doIndividualScript(filename: "testNameOfAuthors") // } // // func testFeedExists() { // _ = doIndividualScript(filename: "testFeedExists") // } // // func testFeedOPML() { // _ = doIndividualScript(filename: "testFeedOPML") // } // //// func testTitleOfArticlesWhoseScript() { //// _ = doIndividualScript(filename: "testTitleOfArticlesWhose") //// } //// //// func testIterativeCreateAndDeleteScript() { //// _ = doIndividualScriptWithExpectation(filename: "testIterativeCreateAndDeleteFeed") //// } // // func doIndividualScriptWithExpectation(filename:String) { // let queue = DispatchQueue(label:"testQueue") // let scriptExpectation = self.expectation(description: filename+"expectation") // queue.async { // _ = self.doIndividualScript(filename:filename) // scriptExpectation.fulfill() // } // self.wait(for:[scriptExpectation], timeout:60) // } // ///* // @function testCurrentArticleScripts // @brief the pieces of the test are broken up into smaller pieces because of the // way events are delivered to the app -- I tried one single script with all the // actions and the keystrokes aren't delivered to the app right away, so the ui // isn't updated in time for 'current article' to be set. But, breaking them up // in this way seems to work. // // July 30, 2019: There's an issue where in order for a script to send keystrokes, // The app has to be allowed to interact with the SystemEvents.app in // System Preferences -> Security & Privacy -> Privacy -> Accessibility // and this permission needs to be renewed every time the app is recompiled unless // the app is codesigned. Until we figure out how to get around this limitation, // this test is disabled. //*/ // func disabledTestCurrentArticleScripts() { // // doIndividualScriptWithExpectation(filename: "uiScriptingTestSetup") // doIndividualScriptWithExpectation(filename: "establishMainWindowStartingState") // doIndividualScriptWithExpectation(filename: "selectAFeed") // doIndividualScriptWithExpectation(filename: "testCurrentArticleIsNil") // doIndividualScriptWithExpectation(filename: "selectAnArticle") // doIndividualScriptWithExpectation(filename: "testURLsOfCurrentArticle") // } //}