You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
279 lines
18 KiB
279 lines
18 KiB
3 years ago
|
// Copyright © 2015 Abhishek Banthia
|
||
|
|
||
|
import XCTest
|
||
|
|
||
|
@testable import Clocker
|
||
|
|
||
|
class ThemerTests: XCTestCase {
|
||
|
|
||
|
func testLightTheme() throws {
|
||
|
let subject = Themer(index: 0) // 0 is for light theme
|
||
|
let expectedSliderKnobColor = NSColor(deviceRed: 255.0, green: 255.0, blue: 255, alpha: 0.9)
|
||
|
let expectedSliderRightColor = NSColor.gray
|
||
|
let expectedBackgroundColor = NSColor.white
|
||
|
let expectedTextColor = NSColor.black
|
||
|
let expectedTextBackgroundColor = NSColor(deviceRed: 241.0 / 255.0, green: 241.0 / 255.0, blue: 241.0 / 255.0, alpha: 1.0)
|
||
|
|
||
|
|
||
|
let expectedShutdownImageName = "ellipsis.circle"
|
||
|
let expectedPreferenceImageName = "plus"
|
||
|
let expectedPinImageName = "macwindow.on.rectangle"
|
||
|
let expectedSunriseImageName = "sunrise.fill"
|
||
|
let expectedSunsetImageName = "sunset.fill"
|
||
|
let expectedRemoveImageName = "xmark"
|
||
|
let expectedExtraOptionsImage = "Extra"
|
||
|
let expectedMenubarOnboardingImage = "Light Menubar"
|
||
|
let expectedExtraOptionsHighlightedImage = "ExtraHighlighted"
|
||
|
let expectedSharingImage = "square.and.arrow.up.on.square.fill"
|
||
|
let expectedCurrentLocationImage = "location.fill"
|
||
|
let expectedPopoverApperarance = NSAppearance(named: NSAppearance.Name.vibrantLight)!
|
||
|
let expectedAddImage = "plus"
|
||
|
let expectedAddImageHighlighted = "Add Highlighted"
|
||
|
let expectedPrivacyTabImage = "lock"
|
||
|
let expectedAppearanceTabImage = "eye"
|
||
|
let expectedCalendarTabImage = "calendar"
|
||
|
let expectedGeneralTabImage = "gearshape"
|
||
|
let expectedAboutTabImage = "info.circle"
|
||
|
let expectedVideoCallImage = "video.circle.fill"
|
||
|
let expectedFilledTrashImage = "trash.fill"
|
||
|
let expectedBackwardsImage = "gobackward.15"
|
||
|
let expectedForwardsImage = "goforward.15"
|
||
|
let expectedResetSliderImage = "xmark.circle.fill"
|
||
|
|
||
|
|
||
|
XCTAssertEqual(subject.sliderKnobColor(), expectedSliderKnobColor)
|
||
|
XCTAssertEqual(subject.sliderRightColor(), expectedSliderRightColor)
|
||
|
XCTAssertEqual(subject.mainBackgroundColor(), expectedBackgroundColor)
|
||
|
XCTAssertEqual(subject.mainTextColor(), expectedTextColor)
|
||
|
XCTAssertEqual(subject.textBackgroundColor(), expectedTextBackgroundColor)
|
||
|
|
||
|
XCTAssertEqual(subject.shutdownImage().accessibilityDescription, expectedShutdownImageName)
|
||
|
XCTAssertEqual(subject.preferenceImage().accessibilityDescription, expectedPreferenceImageName)
|
||
|
XCTAssertEqual(subject.pinImage().accessibilityDescription, expectedPinImageName)
|
||
|
XCTAssertEqual(subject.sunriseImage().accessibilityDescription, expectedSunriseImageName)
|
||
|
XCTAssertEqual(subject.sunsetImage().accessibilityDescription, expectedSunsetImageName)
|
||
|
XCTAssertEqual(subject.removeImage().accessibilityDescription, expectedRemoveImageName)
|
||
|
XCTAssertEqual(subject.extraOptionsImage().name(), expectedExtraOptionsImage)
|
||
|
XCTAssertEqual(subject.menubarOnboardingImage().name(), expectedMenubarOnboardingImage)
|
||
|
XCTAssertEqual(subject.extraOptionsHighlightedImage().name(), expectedExtraOptionsHighlightedImage)
|
||
|
XCTAssertEqual(subject.sharingImage().accessibilityDescription, expectedSharingImage)
|
||
|
XCTAssertEqual(subject.currentLocationImage().accessibilityDescription, expectedCurrentLocationImage)
|
||
|
XCTAssertEqual(subject.popoverAppearance(), expectedPopoverApperarance)
|
||
|
|
||
|
XCTAssertEqual(subject.addImage().accessibilityDescription, expectedAddImage)
|
||
|
XCTAssertEqual(subject.addImageHighlighted().name(), expectedAddImageHighlighted)
|
||
|
XCTAssertEqual(subject.privacyTabImage().accessibilityDescription, expectedPrivacyTabImage)
|
||
|
XCTAssertEqual(subject.appearanceTabImage().accessibilityDescription, expectedAppearanceTabImage)
|
||
|
XCTAssertEqual(subject.calendarTabImage().accessibilityDescription, expectedCalendarTabImage)
|
||
|
XCTAssertEqual(subject.generalTabImage()?.accessibilityDescription, expectedGeneralTabImage)
|
||
|
XCTAssertEqual(subject.aboutTabImage()?.accessibilityDescription, expectedAboutTabImage)
|
||
|
XCTAssertEqual(subject.videoCallImage()?.accessibilityDescription, expectedVideoCallImage)
|
||
|
XCTAssertEqual(subject.filledTrashImage()?.accessibilityDescription, expectedFilledTrashImage)
|
||
|
XCTAssertEqual(subject.goBackwardsImage()?.accessibilityDescription, expectedBackwardsImage)
|
||
|
XCTAssertEqual(subject.goForwardsImage()?.accessibilityDescription, expectedForwardsImage)
|
||
|
XCTAssertEqual(subject.resetModernSliderImage()?.accessibilityDescription, expectedResetSliderImage)
|
||
|
}
|
||
|
|
||
|
func testDarkTheme() throws {
|
||
|
let subject = Themer(index: 1) // 1 is for dark theme
|
||
|
let expectedSliderKnobColor = NSColor(deviceRed: 0.0, green: 0.0, blue: 0, alpha: 0.9)
|
||
|
let expectedSliderRightColor = NSColor.white
|
||
|
let expectedBackgroundColor = NSColor(deviceRed: 42.0 / 255.0, green: 42.0 / 255.0, blue: 42.0 / 255.0, alpha: 1.0)
|
||
|
let expectedTextColor = NSColor.white
|
||
|
let expectedTextBackgroundColor = NSColor(deviceRed: 42.0 / 255.0, green: 55.0 / 255.0, blue: 62.0 / 255.0, alpha: 1.0)
|
||
|
|
||
|
|
||
|
let expectedShutdownImageName = "ellipsis.circle"
|
||
|
let expectedPreferenceImageName = "plus"
|
||
|
let expectedPinImageName = "macwindow.on.rectangle"
|
||
|
let expectedSunriseImageName = "sunrise.fill"
|
||
|
let expectedSunsetImageName = "sunset.fill"
|
||
|
let expectedRemoveImageName = "xmark"
|
||
|
let expectedExtraOptionsImage = "ExtraWhite"
|
||
|
let expectedMenubarOnboardingImage = "Light Menubar"
|
||
|
let expectedExtraOptionsHighlightedImage = "ExtraWhiteHighlighted"
|
||
|
let expectedSharingImage = "square.and.arrow.up.on.square.fill"
|
||
|
let expectedCurrentLocationImage = "location.fill"
|
||
|
let expectedPopoverApperarance = NSAppearance(named: NSAppearance.Name.vibrantDark)!
|
||
|
let expectedAddImage = "plus"
|
||
|
let expectedAddImageHighlighted = "Add White"
|
||
|
let expectedPrivacyTabImage = "lock"
|
||
|
let expectedAppearanceTabImage = "eye"
|
||
|
let expectedCalendarTabImage = "calendar"
|
||
|
let expectedGeneralTabImage = "gearshape"
|
||
|
let expectedAboutTabImage = "info.circle"
|
||
|
let expectedVideoCallImage = "video.circle.fill"
|
||
|
let expectedFilledTrashImage = "trash.fill"
|
||
|
let expectedBackwardsImage = "gobackward.15"
|
||
|
let expectedForwardsImage = "goforward.15"
|
||
|
let expectedResetSliderImage = "xmark.circle.fill"
|
||
|
|
||
|
|
||
|
XCTAssertEqual(subject.sliderKnobColor(), expectedSliderKnobColor)
|
||
|
XCTAssertEqual(subject.sliderRightColor(), expectedSliderRightColor)
|
||
|
XCTAssertEqual(subject.mainBackgroundColor(), expectedBackgroundColor)
|
||
|
XCTAssertEqual(subject.mainTextColor(), expectedTextColor)
|
||
|
XCTAssertEqual(subject.textBackgroundColor(), expectedTextBackgroundColor)
|
||
|
XCTAssertEqual(subject.shutdownImage().accessibilityDescription, expectedShutdownImageName)
|
||
|
XCTAssertEqual(subject.preferenceImage().accessibilityDescription, expectedPreferenceImageName)
|
||
|
XCTAssertEqual(subject.pinImage().accessibilityDescription, expectedPinImageName)
|
||
|
XCTAssertEqual(subject.sunriseImage().accessibilityDescription, expectedSunriseImageName)
|
||
|
XCTAssertEqual(subject.sunsetImage().accessibilityDescription, expectedSunsetImageName)
|
||
|
XCTAssertEqual(subject.removeImage().accessibilityDescription, expectedRemoveImageName)
|
||
|
XCTAssertEqual(subject.extraOptionsImage().name(), expectedExtraOptionsImage)
|
||
|
XCTAssertEqual(subject.menubarOnboardingImage().name(), expectedMenubarOnboardingImage)
|
||
|
XCTAssertEqual(subject.extraOptionsHighlightedImage().name(), expectedExtraOptionsHighlightedImage)
|
||
|
XCTAssertEqual(subject.sharingImage().accessibilityDescription, expectedSharingImage)
|
||
|
XCTAssertEqual(subject.currentLocationImage().accessibilityDescription, expectedCurrentLocationImage)
|
||
|
XCTAssertEqual(subject.popoverAppearance(), expectedPopoverApperarance)
|
||
|
XCTAssertEqual(subject.addImage().accessibilityDescription, expectedAddImage)
|
||
|
XCTAssertEqual(subject.addImageHighlighted().name(), expectedAddImageHighlighted)
|
||
|
XCTAssertEqual(subject.privacyTabImage().accessibilityDescription, expectedPrivacyTabImage)
|
||
|
XCTAssertEqual(subject.appearanceTabImage().accessibilityDescription, expectedAppearanceTabImage)
|
||
|
XCTAssertEqual(subject.calendarTabImage().accessibilityDescription, expectedCalendarTabImage)
|
||
|
XCTAssertEqual(subject.generalTabImage()?.accessibilityDescription, expectedGeneralTabImage)
|
||
|
XCTAssertEqual(subject.aboutTabImage()?.accessibilityDescription, expectedAboutTabImage)
|
||
|
XCTAssertEqual(subject.videoCallImage()?.accessibilityDescription, expectedVideoCallImage)
|
||
|
XCTAssertEqual(subject.filledTrashImage()?.accessibilityDescription, expectedFilledTrashImage)
|
||
|
XCTAssertEqual(subject.goBackwardsImage()?.accessibilityDescription, expectedBackwardsImage)
|
||
|
XCTAssertEqual(subject.goForwardsImage()?.accessibilityDescription, expectedForwardsImage)
|
||
|
XCTAssertEqual(subject.resetModernSliderImage()?.accessibilityDescription, expectedResetSliderImage)
|
||
|
XCTAssertEqual(subject.description, "Current Theme is \(Theme.dark)")
|
||
|
}
|
||
|
|
||
|
func testSolarizedLightTheme() throws {
|
||
|
let subject = Themer(index: 3) // 3 is for solarized light theme
|
||
|
let expectedSliderKnobColor = NSColor(deviceRed: 0.0, green: 0.0, blue: 0, alpha: 0.9)
|
||
|
let expectedSliderRightColor = NSColor.gray
|
||
|
let expectedBackgroundColor = NSColor(deviceRed: 253.0 / 255.0, green: 246.0 / 255.0, blue: 227.0 / 255.0, alpha: 1.0)
|
||
|
let expectedTextColor = NSColor.black
|
||
|
let expectedTextBackgroundColor = NSColor(deviceRed: 238.0 / 255.0, green: 232.0 / 255.0, blue: 213.0 / 255.0, alpha: 1.0)
|
||
|
|
||
|
|
||
|
let expectedShutdownImageName = "ellipsis.circle"
|
||
|
let expectedPreferenceImageName = "plus"
|
||
|
let expectedPinImageName = "macwindow.on.rectangle"
|
||
|
let expectedSunriseImageName = "sunrise.fill"
|
||
|
let expectedSunsetImageName = "sunset.fill"
|
||
|
let expectedRemoveImageName = "xmark"
|
||
|
let expectedExtraOptionsImage = "Extra"
|
||
|
let expectedMenubarOnboardingImage = "Light Menubar"
|
||
|
let expectedExtraOptionsHighlightedImage = "ExtraHighlighted"
|
||
|
let expectedSharingImage = "square.and.arrow.up.on.square.fill"
|
||
|
let expectedCurrentLocationImage = "location.fill"
|
||
|
let expectedPopoverApperarance = NSAppearance(named: NSAppearance.Name.vibrantLight)!
|
||
|
let expectedAddImage = "plus"
|
||
|
let expectedAddImageHighlighted = "Add White"
|
||
|
let expectedPrivacyTabImage = "lock"
|
||
|
let expectedAppearanceTabImage = "eye"
|
||
|
let expectedCalendarTabImage = "calendar"
|
||
|
let expectedGeneralTabImage = "gearshape"
|
||
|
let expectedAboutTabImage = "info.circle"
|
||
|
let expectedVideoCallImage = "video.circle.fill"
|
||
|
let expectedFilledTrashImage = "trash.fill"
|
||
|
let expectedBackwardsImage = "gobackward.15"
|
||
|
let expectedForwardsImage = "goforward.15"
|
||
|
let expectedResetSliderImage = "xmark.circle.fill"
|
||
|
|
||
|
|
||
|
XCTAssertEqual(subject.sliderKnobColor(), expectedSliderKnobColor)
|
||
|
XCTAssertEqual(subject.sliderRightColor(), expectedSliderRightColor)
|
||
|
XCTAssertEqual(subject.mainBackgroundColor(), expectedBackgroundColor)
|
||
|
XCTAssertEqual(subject.mainTextColor(), expectedTextColor)
|
||
|
XCTAssertEqual(subject.textBackgroundColor(), expectedTextBackgroundColor)
|
||
|
|
||
|
XCTAssertEqual(subject.shutdownImage().accessibilityDescription, expectedShutdownImageName)
|
||
|
XCTAssertEqual(subject.preferenceImage().accessibilityDescription, expectedPreferenceImageName)
|
||
|
XCTAssertEqual(subject.pinImage().accessibilityDescription, expectedPinImageName)
|
||
|
XCTAssertEqual(subject.sunriseImage().accessibilityDescription, expectedSunriseImageName)
|
||
|
XCTAssertEqual(subject.sunsetImage().accessibilityDescription, expectedSunsetImageName)
|
||
|
XCTAssertEqual(subject.removeImage().accessibilityDescription, expectedRemoveImageName)
|
||
|
XCTAssertEqual(subject.extraOptionsImage().name(), expectedExtraOptionsImage)
|
||
|
XCTAssertEqual(subject.menubarOnboardingImage().name(), expectedMenubarOnboardingImage)
|
||
|
XCTAssertEqual(subject.extraOptionsHighlightedImage().name(), expectedExtraOptionsHighlightedImage)
|
||
|
XCTAssertEqual(subject.sharingImage().accessibilityDescription, expectedSharingImage)
|
||
|
XCTAssertEqual(subject.currentLocationImage().accessibilityDescription, expectedCurrentLocationImage)
|
||
|
XCTAssertEqual(subject.popoverAppearance(), expectedPopoverApperarance)
|
||
|
|
||
|
XCTAssertEqual(subject.addImage().accessibilityDescription, expectedAddImage)
|
||
|
XCTAssertEqual(subject.addImageHighlighted().name(), expectedAddImageHighlighted)
|
||
|
XCTAssertEqual(subject.privacyTabImage().accessibilityDescription, expectedPrivacyTabImage)
|
||
|
XCTAssertEqual(subject.appearanceTabImage().accessibilityDescription, expectedAppearanceTabImage)
|
||
|
XCTAssertEqual(subject.calendarTabImage().accessibilityDescription, expectedCalendarTabImage)
|
||
|
XCTAssertEqual(subject.generalTabImage()?.accessibilityDescription, expectedGeneralTabImage)
|
||
|
XCTAssertEqual(subject.aboutTabImage()?.accessibilityDescription, expectedAboutTabImage)
|
||
|
XCTAssertEqual(subject.videoCallImage()?.accessibilityDescription, expectedVideoCallImage)
|
||
|
XCTAssertEqual(subject.filledTrashImage()?.accessibilityDescription, expectedFilledTrashImage)
|
||
|
XCTAssertEqual(subject.goBackwardsImage()?.accessibilityDescription, expectedBackwardsImage)
|
||
|
XCTAssertEqual(subject.goForwardsImage()?.accessibilityDescription, expectedForwardsImage)
|
||
|
XCTAssertEqual(subject.resetModernSliderImage()?.accessibilityDescription, expectedResetSliderImage)
|
||
|
}
|
||
|
|
||
|
func testSolarizedDarkTheme() throws {
|
||
|
let subject = Themer(index: 4) // 4 is for solarized dark theme
|
||
|
let expectedSliderKnobColor = NSColor(deviceRed: 0.0, green: 0.0, blue: 0, alpha: 0.9)
|
||
|
let expectedSliderRightColor = NSColor.gray
|
||
|
let expectedBackgroundColor = NSColor(deviceRed: 7.0 / 255.0, green: 54.0 / 255.0, blue: 66.0 / 255.0, alpha: 1.0)
|
||
|
let expectedTextColor = NSColor.white
|
||
|
let expectedTextBackgroundColor = NSColor(deviceRed: 88.0 / 255.0, green: 110.0 / 255.0, blue: 117.0 / 255.0, alpha: 1.0)
|
||
|
|
||
|
|
||
|
let expectedShutdownImageName = "ellipsis.circle"
|
||
|
let expectedPreferenceImageName = "plus"
|
||
|
let expectedPinImageName = "macwindow.on.rectangle"
|
||
|
let expectedSunriseImageName = "sunrise.fill"
|
||
|
let expectedSunsetImageName = "sunset.fill"
|
||
|
let expectedRemoveImageName = "xmark"
|
||
|
let expectedExtraOptionsImage = "ExtraWhite"
|
||
|
let expectedMenubarOnboardingImage = "Light Menubar"
|
||
|
let expectedExtraOptionsHighlightedImage = "ExtraWhiteHighlighted"
|
||
|
let expectedSharingImage = "square.and.arrow.up.on.square.fill"
|
||
|
let expectedCurrentLocationImage = "location.fill"
|
||
|
let expectedPopoverApperarance = NSAppearance(named: NSAppearance.Name.vibrantDark)!
|
||
|
let expectedAddImage = "plus"
|
||
|
let expectedAddImageHighlighted = "Add White"
|
||
|
let expectedPrivacyTabImage = "lock"
|
||
|
let expectedAppearanceTabImage = "eye"
|
||
|
let expectedCalendarTabImage = "calendar"
|
||
|
let expectedGeneralTabImage = "gearshape"
|
||
|
let expectedAboutTabImage = "info.circle"
|
||
|
let expectedVideoCallImage = "video.circle.fill"
|
||
|
let expectedFilledTrashImage = "trash.fill"
|
||
|
let expectedBackwardsImage = "gobackward.15"
|
||
|
let expectedForwardsImage = "goforward.15"
|
||
|
let expectedResetSliderImage = "xmark.circle.fill"
|
||
|
|
||
|
|
||
|
XCTAssertEqual(subject.sliderKnobColor(), expectedSliderKnobColor)
|
||
|
XCTAssertEqual(subject.sliderRightColor(), expectedSliderRightColor)
|
||
|
XCTAssertEqual(subject.mainBackgroundColor(), expectedBackgroundColor)
|
||
|
XCTAssertEqual(subject.mainTextColor(), expectedTextColor)
|
||
|
XCTAssertEqual(subject.textBackgroundColor(), expectedTextBackgroundColor)
|
||
|
XCTAssertEqual(subject.shutdownImage().accessibilityDescription, expectedShutdownImageName)
|
||
|
XCTAssertEqual(subject.preferenceImage().accessibilityDescription, expectedPreferenceImageName)
|
||
|
XCTAssertEqual(subject.pinImage().accessibilityDescription, expectedPinImageName)
|
||
|
XCTAssertEqual(subject.sunriseImage().accessibilityDescription, expectedSunriseImageName)
|
||
|
XCTAssertEqual(subject.sunsetImage().accessibilityDescription, expectedSunsetImageName)
|
||
|
XCTAssertEqual(subject.removeImage().accessibilityDescription, expectedRemoveImageName)
|
||
|
XCTAssertEqual(subject.extraOptionsImage().name(), expectedExtraOptionsImage)
|
||
|
XCTAssertEqual(subject.menubarOnboardingImage().name(), expectedMenubarOnboardingImage)
|
||
|
XCTAssertEqual(subject.extraOptionsHighlightedImage().name(), expectedExtraOptionsHighlightedImage)
|
||
|
XCTAssertEqual(subject.sharingImage().accessibilityDescription, expectedSharingImage)
|
||
|
XCTAssertEqual(subject.currentLocationImage().accessibilityDescription, expectedCurrentLocationImage)
|
||
|
XCTAssertEqual(subject.popoverAppearance(), expectedPopoverApperarance)
|
||
|
XCTAssertEqual(subject.addImage().accessibilityDescription, expectedAddImage)
|
||
|
XCTAssertEqual(subject.addImageHighlighted().name(), expectedAddImageHighlighted)
|
||
|
XCTAssertEqual(subject.privacyTabImage().accessibilityDescription, expectedPrivacyTabImage)
|
||
|
XCTAssertEqual(subject.appearanceTabImage().accessibilityDescription, expectedAppearanceTabImage)
|
||
|
XCTAssertEqual(subject.calendarTabImage().accessibilityDescription, expectedCalendarTabImage)
|
||
|
XCTAssertEqual(subject.generalTabImage()?.accessibilityDescription, expectedGeneralTabImage)
|
||
|
XCTAssertEqual(subject.aboutTabImage()?.accessibilityDescription, expectedAboutTabImage)
|
||
|
XCTAssertEqual(subject.videoCallImage()?.accessibilityDescription, expectedVideoCallImage)
|
||
|
XCTAssertEqual(subject.filledTrashImage()?.accessibilityDescription, expectedFilledTrashImage)
|
||
|
XCTAssertEqual(subject.goBackwardsImage()?.accessibilityDescription, expectedBackwardsImage)
|
||
|
XCTAssertEqual(subject.goForwardsImage()?.accessibilityDescription, expectedForwardsImage)
|
||
|
XCTAssertEqual(subject.resetModernSliderImage()?.accessibilityDescription, expectedResetSliderImage)
|
||
|
}
|
||
|
|
||
|
}
|