Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions Click2MinimizeTests/ContentViewTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import XCTest
import SwiftUI
@testable import Click2Minimize

final class ContentViewTests: XCTestCase {

override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
UserDefaults.standard.removeObject(forKey: "ClickToMinimizeEnabled")
}

override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
UserDefaults.standard.removeObject(forKey: "ClickToMinimizeEnabled")
}

func testContentViewDefaultState() throws {
// Given that UserDefaults is empty, initializing ContentView should set ClickToMinimizeEnabled to true
let _ = ContentView()

let isEnabled = UserDefaults.standard.bool(forKey: "ClickToMinimizeEnabled")
XCTAssertTrue(isEnabled, "ClickToMinimizeEnabled should default to true")
}

func testContentViewExistingStateTrue() throws {
// Given that UserDefaults is already set to true
UserDefaults.standard.set(true, forKey: "ClickToMinimizeEnabled")

let _ = ContentView()

let isEnabled = UserDefaults.standard.bool(forKey: "ClickToMinimizeEnabled")
XCTAssertTrue(isEnabled, "ClickToMinimizeEnabled should remain true if previously set")
}

func testContentViewExistingStateFalse() throws {
// Given that UserDefaults is already set to false
UserDefaults.standard.set(false, forKey: "ClickToMinimizeEnabled")

let _ = ContentView()

let isEnabled = UserDefaults.standard.bool(forKey: "ClickToMinimizeEnabled")
XCTAssertFalse(isEnabled, "ClickToMinimizeEnabled should remain false if previously set")
}
}
Binary file removed dist/Click2Minimize.dmg
Binary file not shown.