mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
test(ios): remove low-value render and source guards (#124291)
This commit is contained in:
committed by
GitHub
parent
abe9800777
commit
644d93c412
@@ -663,25 +663,6 @@ extension RootTabsSourceGuardTests {
|
||||
#expect(source.contains("private func proposals(forLaneStatus status: String)"))
|
||||
}
|
||||
|
||||
@Test func `routed feature screens reuse shared pro components`() throws {
|
||||
let source = try Self.iPadTaskFeatureScreensSource()
|
||||
let componentsSource = try String(contentsOf: Self.proComponentsSourceURL(), encoding: .utf8)
|
||||
let channelsSource = try String(contentsOf: Self.channelsSourceURL(), encoding: .utf8)
|
||||
|
||||
#expect(source.contains("ProMetricGrid(metrics: self.metrics)"))
|
||||
#expect(source.contains("ProPanelHeader("))
|
||||
#expect(source.contains("ProStatusRow("))
|
||||
#expect(!source.contains("private struct ProMetricGrid"))
|
||||
#expect(!source.contains("private struct ProMetric"))
|
||||
#expect(!source.contains("private struct ProPanelHeader"))
|
||||
#expect(!source.contains("private struct ProStatusRow"))
|
||||
#expect(!channelsSource.contains("private struct SettingsChannelPanelHeader"))
|
||||
#expect(!channelsSource.contains("private struct SettingsChannelInfoRow"))
|
||||
#expect(componentsSource.contains("struct ProMetricGrid"))
|
||||
#expect(componentsSource.contains("struct ProPanelHeader"))
|
||||
#expect(componentsSource.contains("struct ProStatusRow"))
|
||||
}
|
||||
|
||||
@Test func `activity screen stays split from task feature screens`() throws {
|
||||
let taskSource = try Self.iPadTaskFeatureScreensSource()
|
||||
let activitySource = try String(contentsOf: Self.iPadActivityScreenSourceURL(), encoding: .utf8)
|
||||
@@ -699,18 +680,6 @@ extension RootTabsSourceGuardTests {
|
||||
#expect(projectSource.contains("IPadActivityScreen.swift in Sources"))
|
||||
}
|
||||
|
||||
@Test func `routed feature chrome stays split from task feature screens`() throws {
|
||||
let taskSource = try Self.iPadTaskFeatureScreensSource()
|
||||
let chromeSource = try String(contentsOf: Self.iPadSidebarScreenChromeSourceURL(), encoding: .utf8)
|
||||
let projectSource = try String(contentsOf: Self.xcodeProjectSourceURL(), encoding: .utf8)
|
||||
|
||||
#expect(chromeSource.contains("struct IPadSidebarScreenChrome<Content: View>: View"))
|
||||
#expect(chromeSource.contains("OpenClawSidebarHeaderLeadingSlot(action: headerSidebarAction)"))
|
||||
#expect(chromeSource.contains("OpenClawGatewayCompactPill()"))
|
||||
#expect(!taskSource.contains("struct IPadSidebarScreenChrome"))
|
||||
#expect(projectSource.contains("IPadSidebarScreenChrome.swift in Sources"))
|
||||
}
|
||||
|
||||
@Test func `routed feature chrome keeps gateway pill actionable`() throws {
|
||||
let chromeSource = try String(contentsOf: Self.iPadSidebarScreenChromeSourceURL(), encoding: .utf8)
|
||||
let featureSource = try Self.iPadTaskFeatureScreensSource()
|
||||
|
||||
@@ -175,59 +175,6 @@ struct SwiftUIRenderSmokeTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Test @MainActor func `markdown heading hierarchy builds with inline formatting and table`() {
|
||||
let markdown = """
|
||||
# First **strong** heading
|
||||
## Second [linked](https://example.com) heading
|
||||
### Third `code` heading
|
||||
#### Fourth heading
|
||||
##### Fifth heading
|
||||
###### Sixth heading
|
||||
|
||||
| Surface | State |
|
||||
| --- | --- |
|
||||
| iOS | Native |
|
||||
"""
|
||||
for typeSize in [DynamicTypeSize.large, .accessibility2] {
|
||||
let root = ChatMarkdownRenderer(
|
||||
text: markdown,
|
||||
context: .assistant,
|
||||
variant: .standard,
|
||||
textColor: OpenClawChatTheme.assistantText)
|
||||
.environment(\.dynamicTypeSize, typeSize)
|
||||
|
||||
_ = Self.host(root, size: CGSize(width: 393, height: 700))
|
||||
}
|
||||
}
|
||||
|
||||
@Test @MainActor func `markdown lists and thematic breaks build across appearance and type size`() {
|
||||
let markdown = """
|
||||
Here are the options:
|
||||
|
||||
9. **Option one heading** – a sentence describing it.
|
||||
10. **Option two heading** – another sentence.
|
||||
- Nested detail
|
||||
- [x] Completed detail
|
||||
|
||||
---
|
||||
|
||||
Final paragraph.
|
||||
"""
|
||||
for scheme in [ColorScheme.light, .dark] {
|
||||
for typeSize in [DynamicTypeSize.large, .accessibility2] {
|
||||
let root = ChatMarkdownRenderer(
|
||||
text: markdown,
|
||||
context: .assistant,
|
||||
variant: .standard,
|
||||
textColor: OpenClawChatTheme.assistantText)
|
||||
.environment(\.dynamicTypeSize, typeSize)
|
||||
.preferredColorScheme(scheme)
|
||||
|
||||
_ = Self.host(root, size: CGSize(width: 320, height: 700))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test @MainActor func `long user prompt disclosure builds across dynamic type sizes`() {
|
||||
let text = Array(repeating: "A long user-authored prompt line.", count: 13).joined(separator: "\n")
|
||||
let message = OpenClawChatMessage(
|
||||
@@ -343,62 +290,6 @@ struct SwiftUIRenderSmokeTests {
|
||||
_ = Self.host(root, size: CGSize(width: 393, height: 400))
|
||||
}
|
||||
|
||||
@Test @MainActor func `completed and streaming assistant trace headings build across type sizes`() {
|
||||
let text = """
|
||||
<think>
|
||||
# Internal plan
|
||||
</think>
|
||||
<final>
|
||||
# Final answer
|
||||
</final>
|
||||
"""
|
||||
let message = OpenClawChatMessage(
|
||||
role: "assistant",
|
||||
content: [OpenClawChatMessageContent(
|
||||
type: "text",
|
||||
text: text,
|
||||
mimeType: nil,
|
||||
fileName: nil,
|
||||
content: nil)],
|
||||
timestamp: 1)
|
||||
|
||||
for typeSize in [DynamicTypeSize.large, .accessibility2] {
|
||||
let root = VStack {
|
||||
ChatMessageBubble(
|
||||
message: message,
|
||||
style: .standard,
|
||||
markdownVariant: .standard,
|
||||
userAccent: nil,
|
||||
displayOptions: [.reasoning],
|
||||
assistantName: "OpenClaw",
|
||||
assistantAvatarText: "OC",
|
||||
assistantAvatarTint: nil,
|
||||
showsAssistantAvatar: true,
|
||||
isClean: false,
|
||||
contextWindowTokens: nil,
|
||||
userMessageExpanded: false,
|
||||
onToggleUserMessageExpanded: {},
|
||||
inlineWidgetResolverReady: true,
|
||||
inlineWidgetResourceResolver: { _, _ in nil },
|
||||
mediaArtifactResolverReady: false,
|
||||
mediaPlaybackAllowed: { true },
|
||||
loadMediaArtifact: { _, _, _ in nil })
|
||||
ChatStreamingAssistantBubble(
|
||||
text: text,
|
||||
markdownVariant: .standard,
|
||||
showsReasoning: true,
|
||||
assistantName: "OpenClaw",
|
||||
assistantAvatarText: "OC",
|
||||
assistantAvatarTint: nil,
|
||||
showsAssistantAvatar: true,
|
||||
isClean: false)
|
||||
}
|
||||
.environment(\.dynamicTypeSize, typeSize)
|
||||
|
||||
_ = Self.host(root, size: CGSize(width: 393, height: 700))
|
||||
}
|
||||
}
|
||||
|
||||
@Test @MainActor func `assistant usage footer builds across dynamic type sizes`() throws {
|
||||
let usage = try JSONDecoder().decode(
|
||||
OpenClawChatUsage.self,
|
||||
|
||||
Reference in New Issue
Block a user