chore(typing): snapshot local pinyin WIP before syncing cloud branch

Preserve the in-progress local typing/pinyin implementation so feat/pinyin
can safely reset to origin/feat/pinyin (cloud English + Chinese typing).
This commit is contained in:
Rocky
2026-08-03 13:14:01 +08:00
parent c037be3654
commit d1e5fed964
58 changed files with 370539 additions and 121 deletions
@@ -0,0 +1,48 @@
// OpenSourceLicenseCatalogTests.swift
// OSGKeyboard · Unit Tests
import XCTest
@testable import OSGKeyboard
final class OpenSourceLicenseCatalogTests: XCTestCase {
func testIOSCatalogIncludesRimeAndDictionaryDataOnly() {
let entries = OpenSourceLicenseCatalog.entries(for: .iOS)
let ids = Set(entries.map(\.id))
XCTAssertTrue(ids.contains("librime-static"))
XCTAssertTrue(ids.contains("rime-pinyin-simp"))
XCTAssertTrue(ids.contains("jieba"))
XCTAssertTrue(ids.contains("phrase-pinyin-data"))
XCTAssertTrue(ids.contains("pinyin-data"))
XCTAssertFalse(ids.contains("mlx-audio-swift"))
}
func testMacCatalogExcludesIOSRimeStack() {
let entries = OpenSourceLicenseCatalog.entries(for: .macOS)
let ids = Set(entries.map(\.id))
XCTAssertEqual(ids, ["mlx-audio-swift"])
}
func testBundledDictionaryLicensesKeepCopyrightNotices() throws {
let entries = OpenSourceLicenseCatalog.entries(for: .iOS)
let jieba = try XCTUnwrap(entries.first { $0.id == "jieba" })
let phrase = try XCTUnwrap(entries.first { $0.id == "phrase-pinyin-data" })
let pinyin = try XCTUnwrap(entries.first { $0.id == "pinyin-data" })
XCTAssertTrue(jieba.licenseText.contains("Copyright (c) 2013 Sun Junyi"))
XCTAssertTrue(phrase.licenseText.contains("Copyright (c) 2017 mozillazg"))
XCTAssertTrue(pinyin.licenseText.contains("Copyright (c) 2016 mozillazg"))
}
func testLibrimeEntryContainsTransitiveDependencyNotices() throws {
let entry = try XCTUnwrap(
OpenSourceLicenseCatalog.entries(for: .iOS)
.first { $0.id == "librime-static" }
)
XCTAssertTrue(entry.licenseText.contains("opencc.txt"))
XCTAssertTrue(entry.licenseText.contains("leveldb.txt"))
XCTAssertTrue(entry.licenseText.contains("yaml-cpp.txt"))
}
}