From 7191d098d0c8ad76889550eeefd7052076998e42 Mon Sep 17 00:00:00 2001 From: Jonathan Cardasis Date: Sun, 8 Sep 2019 19:39:48 -0400 Subject: [PATCH] Added more tests to brightness slider --- Tests/ChromaBrightnessSliderTests.swift | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Tests/ChromaBrightnessSliderTests.swift b/Tests/ChromaBrightnessSliderTests.swift index aca0847..d64afd0 100644 --- a/Tests/ChromaBrightnessSliderTests.swift +++ b/Tests/ChromaBrightnessSliderTests.swift @@ -93,6 +93,20 @@ class ChromaBrightnessSliderTests: XCTestCase { XCTAssertEqual(subject.handle.layer.shadowOpacity, 0) } + func testHandleIsRepositionedAccordingToCurrentValueOnLayout() { + // Given + let subject = ChromaBrightnessSlider(frame: CGRect(x: 0, y: 0, width: 300, height: 30)) + //subject.layoutIfNeeded() + let expectedPosition = subject.center + + // When + subject.currentValue = 0.5 + subject.layoutIfNeeded() + + // Then + XCTAssertEqual(subject.handle.center, expectedPosition) + } + // MARK: - Convenience Functions func testConnectCallsConnectFunctionOfColorPicker() { @@ -231,7 +245,23 @@ class ChromaBrightnessSliderTests: XCTestCase { } func testEndTrackingSendsTouchUpInsideAction() { + // Given + let subject = ChromaBrightnessSlider(frame: CGRect(x: 0, y: 0, width: 300, height: 30)) + subject.layoutIfNeeded() + let fakeTouch = FakeUITouch(locationInParent: CGPoint(x: 0, y: 0)) + let eventReceiver = FakeEventReceiver(listensFor: .touchUpInside) + subject.addTarget(eventReceiver, action: #selector(FakeEventReceiver.catchEvent(_:)), for: .touchUpInside) + var eventDidTrigger = false + eventReceiver.eventCaught = { + eventDidTrigger = true + } + + // When + let _ = subject.endTracking(fakeTouch, with: nil) + + // Then + XCTAssertTrue(eventDidTrigger) } }