Files
openclaw/apps/ios/Tests/LicenseDocumentLoaderTests.swift
Marvin Kaunda 5370f64cf0 improve: native iOS look with stock SwiftUI navigation, forms, chat, and talk visualizer (#99231)
* improve(ios): adopt native SwiftUI chrome across the app

* fix(ios): keep phone chat on the native navigation bar

* fix(ios): render licenses screen as native settings rows

* fix(ios): complete native interface polish

* fix(ios): preserve branded native interface

* test(ios): align gateway badge source guard

* fix(ios): center onboarding on iPad

* fix(ios): remove dead reskin symbols

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 18:17:09 -07:00

56 lines
2.3 KiB
Swift

import Foundation
import Testing
@testable import OpenClaw
struct LicenseDocumentLoaderTests {
@Test func `loads only utf8 text licenses sorted alphabetically by title`() throws {
let directory = try Self.makeTemporaryDirectory()
defer { try? FileManager.default.removeItem(at: directory) }
try "Gamma License".write(
to: directory.appendingPathComponent("Gamma.txt"),
atomically: true,
encoding: .utf8)
try "Alpha License".write(
to: directory.appendingPathComponent("Alpha.txt"),
atomically: true,
encoding: .utf8)
try "Ignored".write(
to: directory.appendingPathComponent("Beta.md"),
atomically: true,
encoding: .utf8)
try "Hidden".write(
to: directory.appendingPathComponent(".Hidden.txt"),
atomically: true,
encoding: .utf8)
let documents = LicenseDocumentLoader.documents(in: directory)
#expect(documents.map(\.filename) == ["Alpha.txt", "Gamma.txt"])
#expect(documents.map(\.title) == ["Alpha", "Gamma"])
#expect(documents.map(\.body) == ["Alpha License", "Gamma License"])
}
@Test func `derives readable titles from license filenames`() {
#expect(LicenseDocumentLoader.title(from: "WebRTC.txt") == "WebRTC")
#expect(LicenseDocumentLoader.title(from: "SwiftUI Siri Waveform.txt") == "SwiftUI Siri Waveform")
#expect(LicenseDocumentLoader.title(from: "openclaw_plugin_sdk.txt") == "openclaw plugin sdk")
#expect(LicenseDocumentLoader.title(from: "010-WebRTC.txt") == "010 WebRTC")
}
@Test func `bundles the waveform attribution`() {
let waveform = LicenseDocumentLoader.bundledDocuments()
.first { $0.filename == "SwiftUI Siri Waveform.txt" }
#expect(waveform?.body.contains("Copyright (c) 2019 Noah Chalifour") == true)
#expect(waveform?.body.contains("MIT License") == true)
}
private static func makeTemporaryDirectory() throws -> URL {
let directory = FileManager.default.temporaryDirectory
.appendingPathComponent("OpenClawLicenseDocumentLoaderTests-\(UUID().uuidString)", isDirectory: true)
try FileManager.default.createDirectory(at: directory, withIntermediateDirectories: true)
return directory
}
}