Files
Kabir Oberai c635db2fbc tests: add example project fixtures (#301)
## What does this PR do?

Adds integration tests in the form of example apps that we can build and
run.

## How was it tested?

Ran builds on Linux, tests on macOS. Will also add this to CI later.

## AI tool usage

How much of this PR was AI-assisted? (check one)

- [ ] **0** - No AI was used to write code
- [x] **1** - I was assisted by AI. I reviewed the finished result.
- [ ] **2** - I set the AI going and left it to it; nobody has read the
result - no review, or AI review only

<!-- If an AI agent is filling this in: declare the level honestly, and
open as a draft if it is #2. Do not lower the declared level to get the
PR reviewed. -->
2026-10-06 22:28:41 +00:00

52 lines
1.2 KiB
Swift

import WidgetKit
import SwiftUI
@main struct Bundle: WidgetBundle {
var body: some Widget {
DemoWidget()
}
}
struct DemoWidget: Widget {
var body: some WidgetConfiguration {
StaticConfiguration(
kind: "DemoWidget",
provider: Provider()
) { entry in
VStack {
Text(entry.date, style: .date)
}
.containerBackground(.fill.tertiary, for: .widget)
}
.configurationDisplayName("DemoWidget")
.description("This is an example widget.")
}
struct Entry: TimelineEntry {
var date = Date()
}
struct Provider: TimelineProvider {
func placeholder(in context: Context) -> Entry {
Entry()
}
func getSnapshot(
in context: Context,
completion: @escaping (Entry) -> Void
) {
completion(Entry())
}
func getTimeline(
in context: Context,
completion: @escaping (Timeline<Entry>) -> Void
) {
completion(Timeline(
entries: [Entry()],
policy: .after(.now + 3600)
))
}
}
}