Browse Source

Merge branch 'master' of https://github.com/n0shake/Clocker

pull/101/head 21.08.01
Abhishek 3 years ago
parent
commit
625fe167ad
  1. 4
      Clocker/ClockerUITests/PanelTests.swift
  2. 8
      Clocker/ClockerUITests/PermissionsTests.swift
  3. 13
      Clocker/ClockerUITests/PreferencesTest.swift
  4. 10
      Clocker/ClockerUnitTests/ClockerUnitTests.swift
  5. 6
      Clocker/Overall App/Themer.swift
  6. 11
      Clocker/Panel/ParentPanelController+ModernSlider.swift
  7. 4
      Clocker/Preferences/General/PreferencesViewController.swift

4
Clocker/ClockerUITests/PanelTests.swift

@ -69,7 +69,7 @@ class PanelTests: XCTestCase {
func testEnablingUpcomingEventView() {
app.tapMenubarIcon()
let upcomingView = app.buttons["CalendarAccessory"]
let upcomingView = app.collectionViews["UpcomingEventCollectionView"]
let beforeUpcomingEventViewExist = upcomingView.exists
app.buttons["Preferences"].click()
@ -101,7 +101,7 @@ class PanelTests: XCTestCase {
app.tapMenubarIcon()
let newUpcomingEventView = app.buttons["CalendarAccessory"]
let newUpcomingEventView = app.collectionViews["UpcomingEventCollectionView"]
let afterUpcomingEventViewExists = newUpcomingEventView.exists
XCTAssertNotEqual(afterUpcomingEventViewExists, beforeUpcomingEventViewExist)

8
Clocker/ClockerUITests/PermissionsTests.swift

@ -14,6 +14,10 @@ class PermissionsTests: XCTestCase {
}
func testAcceptingCalendarPermissions() {
if app.tables["FloatingTableView"].exists {
app.buttons["FloatingPin"].click()
}
app.tapMenubarIcon()
app/*@START_MENU_TOKEN@*/ .buttons["Preferences"]/*[[".dialogs[\"Clocker Panel\"].buttons[\"Preferences\"]",".buttons[\"Preferences\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/ .click()
@ -52,6 +56,10 @@ class PermissionsTests: XCTestCase {
}
func testAcceptingRemindersPermissions() {
if app.tables["FloatingTableView"].exists {
app.tapMenubarIcon()
app.buttons["FloatingPin"].click()
}
app.tapMenubarIcon()
app/*@START_MENU_TOKEN@*/ .buttons["Preferences"]/*[[".dialogs[\"Clocker Panel\"].buttons[\"Preferences\"]",".buttons[\"Preferences\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/ .click()

13
Clocker/ClockerUITests/PreferencesTest.swift

@ -306,15 +306,22 @@ class PreferencesTest: XCTestCase {
// Let's make sure we have > 1 timezones first
let favourites = preferencesTable.tableRows
if (favourites.count < 2) {
addAPlace(place: "UTC", to: app)
}
XCTAssertTrue(favourites.count > 1)
sleep(2)
// Select two timezones
let unfavouritedMenubarsQuery = preferencesTable.checkBoxes.matching(NSPredicate(format: "value == 0", ""))
if unfavouritedMenubarsQuery.count > 1 {
for _ in 0 ..< 2 {
for _ in 0 ..< unfavouritedMenubarsQuery.count {
let checkbox = unfavouritedMenubarsQuery.element(boundBy: 0)
checkbox.click()
sleep(2)
}
}
@ -442,7 +449,7 @@ extension XCTestCase {
}
private func deleteAtRow(_ rowToDelete: XCUIElement, for _: XCUIApplication, shouldSleep: Bool) {
rowToDelete.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0)).click()
rowToDelete.click()
rowToDelete.typeKey(XCUIKeyboardKey.delete, modifierFlags: XCUIElement.KeyModifierFlags())
if shouldSleep {
sleep(2)

10
Clocker/ClockerUnitTests/ClockerUnitTests.swift

@ -143,11 +143,11 @@ class ClockerUnitTests: XCTestCase {
// The below test might fail outside California or if DST is active!
// CI is calibrated to be on LA timezone!
func testTimeDifference() {
XCTAssertTrue(operations.timeDifference() == ", 9h 30m ahead", "Difference was unexpectedly: \(operations.timeDifference())")
XCTAssertTrue(californiaOperations.timeDifference() == ", 3h behind", "Difference was unexpectedly: \(californiaOperations.timeDifference())")
XCTAssertTrue(floridaOperations.timeDifference() == "", "Difference was unexpectedly: \(floridaOperations.timeDifference())")
XCTAssertTrue(aucklandOperations.timeDifference() == ", 16h ahead", "Difference was unexpectedly: \(aucklandOperations.timeDifference())")
XCTAssertTrue(omahaOperations.timeDifference() == ", an hour behind", "Difference was unexpectedly: \(omahaOperations.timeDifference())")
XCTAssertTrue(operations.timeDifference() == ", 10h 30m ahead", "Difference was unexpectedly: \(operations.timeDifference())")
XCTAssertTrue(californiaOperations.timeDifference() == ", 2h behind", "Difference was unexpectedly: \(californiaOperations.timeDifference())")
XCTAssertTrue(floridaOperations.timeDifference() == ", an hour ahead", "Difference was unexpectedly: \(floridaOperations.timeDifference())")
XCTAssertTrue(aucklandOperations.timeDifference() == ", 17h ahead", "Difference was unexpectedly: \(aucklandOperations.timeDifference())")
XCTAssertTrue(omahaOperations.timeDifference() == "", "Difference was unexpectedly: \(omahaOperations.timeDifference())")
}
func testSunriseSunset() {

6
Clocker/Overall App/Themer.swift

@ -516,7 +516,11 @@ extension Themer {
}
func resetModernSliderImage() -> NSImage? {
return symbolImage(for: "xmark.circle.fill")
if let xmarkImage = symbolImage(for: "xmark.circle.fill") {
return xmarkImage
}
return removeImage()
}
private func symbolImage(for name: String) -> NSImage? {

11
Clocker/Panel/ParentPanelController+ModernSlider.swift

@ -18,8 +18,14 @@ extension ParentPanelController: NSCollectionViewDataSource {
extension ParentPanelController {
func setupModernSliderIfNeccessary() {
if modernSlider != nil {
resetModernSliderButton.image = Themer.shared().resetModernSliderImage()
if #available(OSX 11.0, *) {
resetModernSliderButton.image = Themer.shared().resetModernSliderImage()
} else {
resetModernSliderButton.layer?.backgroundColor = NSColor.lightGray.cgColor
resetModernSliderButton.layer?.masksToBounds = true
resetModernSliderButton.layer?.cornerRadius = resetModernSliderButton.frame.width / 2
}
goBackwardsButton.image = Themer.shared().goBackwardsImage()
goForwardButton.image = Themer.shared().goForwardsImage()
@ -29,6 +35,7 @@ extension ParentPanelController {
goBackwardsButton.toolTip = "Navigate 15 mins back"
goForwardButton.toolTip = "Navigate 15 mins forward"
modernSlider.wantsLayer = true // Required for animating reset to center
modernSlider.enclosingScrollView?.scrollerInsets = NSEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
modernSlider.enclosingScrollView?.backgroundColor = NSColor.clear
modernSlider.setAccessibility("ModernSlider")

4
Clocker/Preferences/General/PreferencesViewController.swift

@ -45,7 +45,7 @@ class PreferencesViewController: ParentViewController {
let dictionary = NSDictionary(contentsOfFile: path),
let apiKey = dictionary["GeocodingKey"] as? String
else {
// assertionFailure("Unable to find the API key")
assertionFailure("Unable to find the API key")
return ""
}
return apiKey
@ -259,7 +259,7 @@ class PreferencesViewController: ParentViewController {
private func setupShortcutObserver() {
let defaults = NSUserDefaultsController.shared
recorderControl.setAccessibility("ShortcutControl")
recorderControl.bind(NSBindingName.value,
to: defaults,
withKeyPath: PreferencesConstants.hotKeyPathIdentifier,

Loading…
Cancel
Save