summaryrefslogtreecommitdiffstats
path: root/Solsnu.Widget/Solsnu_Widget.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Solsnu.Widget/Solsnu_Widget.swift')
-rw-r--r--Solsnu.Widget/Solsnu_Widget.swift29
1 files changed, 29 insertions, 0 deletions
diff --git a/Solsnu.Widget/Solsnu_Widget.swift b/Solsnu.Widget/Solsnu_Widget.swift
index a7a5764..20e8a8e 100644
--- a/Solsnu.Widget/Solsnu_Widget.swift
+++ b/Solsnu.Widget/Solsnu_Widget.swift
@@ -85,12 +85,41 @@ struct Solsnu_Widget: Widget {
#Preview(as: .systemSmall) {
Solsnu_Widget()
} timeline: {
+ // Test with valid sunrise/sunset times (spring equinox, Oslo approx)
+ let springDate = Calendar.current.date(from: DateComponents(year: 2026, month: 3, day: 20))!
+ let sunriseTime = Calendar.current.date(bySettingHour: 7, minute: 30, second: 0, of: springDate)!
+ let sunsetTime = Calendar.current.date(bySettingHour: 19, minute: 45, second: 0, of: springDate)!
+
+ SolvervEntry(def: SolvervDef(date: springDate, sunriseTime: sunriseTime, sunsetTime: sunsetTime))
+
+ // Test with nil times (no location)
+ SolvervEntry(def: SolvervDef(date: springDate, sunriseTime: nil, sunsetTime: nil))
+
+ // Original equinox dates
SolvervEntry(def: SolvervDef(utcString: "2026-03-20 14:46:00"))
SolvervEntry(def: SolvervDef(utcString: "2026-06-21 08:25:00"))
SolvervEntry(def: SolvervDef(utcString: "2026-09-23 00:06:00"))
SolvervEntry(def: SolvervDef(utcString: "2026-12-21 20:50:00"))
}
+#Preview(as: .systemMedium) {
+ Solsnu_Widget()
+} timeline: {
+ // Test medium widget with valid sunrise/sunset times
+ let springDate = Calendar.current.date(from: DateComponents(year: 2026, month: 3, day: 20))!
+ let sunriseTime = Calendar.current.date(bySettingHour: 7, minute: 30, second: 0, of: springDate)!
+ let sunsetTime = Calendar.current.date(bySettingHour: 19, minute: 45, second: 0, of: springDate)!
+
+ SolvervEntry(def: SolvervDef(date: springDate, sunriseTime: sunriseTime, sunsetTime: sunsetTime))
+
+ // Test medium widget with nil times
+ SolvervEntry(def: SolvervDef(date: springDate, sunriseTime: nil, sunsetTime: nil))
+
+ // Original equinox dates
+ SolvervEntry(def: SolvervDef(utcString: "2026-03-20 14:46:00"))
+ SolvervEntry(def: SolvervDef(utcString: "2026-06-21 08:25:00"))
+}
+
struct SolvervDef {
let date: Date
let bg: String