// Copyright © 2015 Abhishek Banthia import XCTest class CopyToClipboardTests: XCTestCase { var app: XCUIApplication! override func setUp() { continueAfterFailure = false app = XCUIApplication() app.launch() if app.tables["FloatingTableView"].exists == false { app.tapMenubarIcon() app.buttons["Pin"].click() } } override func tearDownWithError() throws { app = nil } func testFullCopy() throws { let cell = app.tables["FloatingTableView"].cells.firstMatch let customLabel = cell.staticTexts["CustomNameLabelForCell"] guard let value = customLabel.value else { return } let time = cell.staticTexts["ActualTime"].value ?? "Nil Value" let expectedValue = "\(value) - \(time)" // Tap to copy! cell.click() let actualValue = NSPasteboard.general.string(forType: .string) ?? "Empty Pasteboard" XCTAssert(expectedValue == actualValue, "Clipboard value (\(actualValue)) doesn't match expected result: \(expectedValue)") // Test full copy let cellCount = app.tables["FloatingTableView"].cells.count var clipboardValue: [String] = [] for cellIndex in 0 ..< cellCount { let cell = app.tables["FloatingTableView"].cells.element(boundBy: cellIndex) let time = cell.staticTexts["ActualTime"].value ?? "Nil Value" clipboardValue.append("\(time)") } app.buttons["Share"].click() } func testModernSlider() { if app.buttons["FloatingPin"].exists { app.buttons["FloatingPin"].click() } app.tapMenubarIcon() let modernSliderExists = app.collectionViews["ModernSlider"].exists app.buttons["Preferences"].click() let appearanceTab = app.toolbars.buttons.element(boundBy: 1) appearanceTab.click() let miscTab = app.tabs.element(boundBy: 1) miscTab.click() if modernSliderExists { app.radioGroups["FutureSlider"].radioButtons["Hide"].click() } else { app.radioGroups["FutureSlider"].radioButtons["Show"].click() } app.tapMenubarIcon() let newFloatingSliderExists = app.collectionViews["ModernSlider"].exists XCTAssertNotEqual(newFloatingSliderExists, modernSliderExists) } }