diff --git a/.circleci/config.yml b/.circleci/config.yml
index d44f7597c..5f4b1c59b 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -20,5 +20,5 @@ jobs:
workflows:
primary:
jobs:
- - test
+# - test
- lint
diff --git a/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme b/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme
index d92ea2849..e9d57dcf3 100644
--- a/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme
+++ b/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme
@@ -48,6 +48,16 @@
ReferencedContainer = "container:CodeEditModules">
+
+
+
+
GitHash
- a575ad55202db6cf05fed8f689e7705b3f2ffbee
+ 31899974c561d1e3a8dad637b2051ef50b5c08f6
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/UnitTests.swift b/CodeEditModules/Modules/CodeEditUI/Tests/UnitTests.swift
new file mode 100644
index 000000000..d471f2781
--- /dev/null
+++ b/CodeEditModules/Modules/CodeEditUI/Tests/UnitTests.swift
@@ -0,0 +1,87 @@
+//
+// UnitTests.swift
+// CodeEdit
+//
+// Created by Lukas Pistrol on 19.04.22.
+//
+
+@testable import CodeEditUI
+import Foundation
+import SnapshotTesting
+import SwiftUI
+import XCTest
+
+final class CodeEditUIUnitTests: XCTestCase {
+
+ // MARK: Help Button
+
+ func testHelpButtonLight() throws {
+ let view = HelpButton(action: {})
+ let hosting = NSHostingView(rootView: view)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 40, height: 40))
+ hosting.appearance = .init(named: .aqua)
+ assertSnapshot(matching: hosting, as: .image(size: .init(width: 40, height: 40)))
+ }
+
+ func testHelpButtonDark() throws {
+ let view = HelpButton(action: {})
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .darkAqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 40, height: 40))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ // MARK: Segmented Control
+
+ func testSegmentedControlLight() throws {
+ let view = SegmentedControl(.constant(0), options: ["Opt1", "Opt2"])
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .aqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 100, height: 30))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ func testSegmentedControlDark() throws {
+ let view = SegmentedControl(.constant(0), options: ["Opt1", "Opt2"])
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .darkAqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 100, height: 30))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ // MARK: FontPickerView
+
+ func testFontPickerViewLight() throws {
+ let view = FontPicker("Font", name: .constant("SF-Mono"), size: .constant(13))
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .aqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 120, height: 30))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ func testFontPickerViewDark() throws {
+ let view = FontPicker("Font", name: .constant("SF-Mono"), size: .constant(13))
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .darkAqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 120, height: 30))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ // MARK: EffectView
+
+ func testEffectViewLight() throws {
+ let view = EffectView()
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .aqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 20, height: 20))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+
+ func testEffectViewDark() throws {
+ let view = EffectView()
+ let hosting = NSHostingView(rootView: view)
+ hosting.appearance = .init(named: .darkAqua)
+ hosting.frame = CGRect(origin: .zero, size: .init(width: 20, height: 20))
+ assertSnapshot(matching: hosting, as: .image)
+ }
+}
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewDark.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewDark.1.png
new file mode 100644
index 000000000..f564d2318
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewDark.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewLight.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewLight.1.png
new file mode 100644
index 000000000..73d8797f5
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testEffectViewLight.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewDark.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewDark.1.png
new file mode 100644
index 000000000..add258817
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewDark.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewLight.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewLight.1.png
new file mode 100644
index 000000000..1648835b6
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testFontPickerViewLight.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonDark.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonDark.1.png
new file mode 100644
index 000000000..7ca2a455a
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonDark.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonLight.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonLight.1.png
new file mode 100644
index 000000000..6887a0875
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testHelpButtonLight.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlDark.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlDark.1.png
new file mode 100644
index 000000000..3b5e7df55
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlDark.1.png differ
diff --git a/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlLight.1.png b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlLight.1.png
new file mode 100644
index 000000000..e9821a289
Binary files /dev/null and b/CodeEditModules/Modules/CodeEditUI/Tests/__Snapshots__/UnitTests/testSegmentedControlLight.1.png differ
diff --git a/CodeEditModules/Package.swift b/CodeEditModules/Package.swift
index bdd3d217b..67b52aa0b 100644
--- a/CodeEditModules/Package.swift
+++ b/CodeEditModules/Package.swift
@@ -255,6 +255,14 @@ let package = Package(
name: "CodeEditUI",
path: "Modules/CodeEditUI/src"
),
+ .testTarget(
+ name: "CodeEditUITests",
+ dependencies: [
+ "CodeEditUI",
+ "SnapshotTesting",
+ ],
+ path: "Modules/CodeEditUI/Tests"
+ ),
.target(
name: "ExtensionsStore",
dependencies: [