chore(release): bump version to 1.0.1 (build 27)
Release the current PiP reliability, polish style, macOS dictionary, and UI updates.
This commit is contained in:
@@ -33,10 +33,22 @@ final class AppGroupConfigurationTests: XCTestCase {
|
||||
XCTAssertEqual(config.polishIntensity, .default)
|
||||
XCTAssertTrue(config.personalDictionary.entries.isEmpty)
|
||||
XCTAssertTrue(config.flowSkipAppSwitch)
|
||||
XCTAssertEqual(config.flowKeepAliveMode, .liveActivity)
|
||||
XCTAssertEqual(config.flowKeepAliveMode, .pictureInPicture)
|
||||
XCTAssertEqual(config.flowInactivityDuration, .fiveMinutes)
|
||||
}
|
||||
|
||||
func testLoadPreservesStoredLiveActivityKeepAliveMode() {
|
||||
let defaults = makeDefaults()
|
||||
defaults.set(
|
||||
FlowKeepAliveMode.liveActivity.rawValue,
|
||||
forKey: AppGroupConfiguration.Keys.flowKeepAliveMode
|
||||
)
|
||||
|
||||
let config = AppGroupConfiguration.load(fromAvailable: defaults)
|
||||
|
||||
XCTAssertEqual(config.flowKeepAliveMode, .liveActivity)
|
||||
}
|
||||
|
||||
func testSaveAndLoadRoundTrip() {
|
||||
let defaults = makeDefaults()
|
||||
var config = AppGroupConfiguration.load(fromAvailable: defaults)
|
||||
|
||||
@@ -29,10 +29,10 @@ final class FlowSessionPolicyTests: XCTestCase {
|
||||
XCTAssertEqual(FlowInactivityDuration.tenMinutes.timeInterval, 10 * 60)
|
||||
}
|
||||
|
||||
func testKeepAliveModeDefaultsToLiveActivity() {
|
||||
func testKeepAliveModeDefaultsToPictureInPicture() {
|
||||
let defaults = makeDefaults()
|
||||
XCTAssertEqual(FlowSessionPolicy.keepAliveMode(defaults: defaults), .liveActivity)
|
||||
XCTAssertTrue(FlowSessionPolicy.usesInactivityExpiry(defaults: defaults))
|
||||
XCTAssertEqual(FlowSessionPolicy.keepAliveMode(defaults: defaults), .pictureInPicture)
|
||||
XCTAssertFalse(FlowSessionPolicy.usesInactivityExpiry(defaults: defaults))
|
||||
}
|
||||
|
||||
func testPiPSessionHasNoInactivityExpiry() {
|
||||
@@ -50,6 +50,10 @@ final class FlowSessionPolicyTests: XCTestCase {
|
||||
|
||||
func testTouchLastActivityExtendsExpiry() {
|
||||
let defaults = makeDefaults()
|
||||
defaults.set(
|
||||
FlowKeepAliveMode.liveActivity.rawValue,
|
||||
forKey: AppGroupConfiguration.Keys.flowKeepAliveMode
|
||||
)
|
||||
defaults.set(FlowInactivityDuration.tenMinutes.rawValue, forKey: AppGroupConfiguration.Keys.flowInactivityDuration)
|
||||
FlowSessionBridge.markSessionActive(defaults: defaults)
|
||||
|
||||
|
||||
@@ -30,6 +30,20 @@ final class PolishStylePackTests: XCTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
func testDatingStyleDefinesRelationshipAwareIntensityAndSafety() throws {
|
||||
let style = try XCTUnwrap(
|
||||
PolishStylePackCatalog.builtins.first { $0.id == "builtin.dating" }
|
||||
)
|
||||
|
||||
XCTAssertTrue(style.prompt.contains("# 本风格的力度解释"))
|
||||
XCTAssertTrue(style.prompt.contains("# 关系许可闸"))
|
||||
XCTAssertTrue(style.prompt.contains("Light(暖而不撩)"))
|
||||
XCTAssertTrue(style.prompt.contains("Medium(温度与趣味)"))
|
||||
XCTAssertTrue(style.prompt.contains("Heavy(主动而明确)"))
|
||||
XCTAssertTrue(style.prompt.contains("不把冷淡解释成欲擒故纵"))
|
||||
XCTAssertTrue(style.prompt.contains("暧昧不能代替明确同意"))
|
||||
}
|
||||
|
||||
func testCatalogRejectsNinthUserPack() throws {
|
||||
var catalog = PolishStyleCatalog()
|
||||
for index in 0..<PolishStyleLimits.maximumUserPacks {
|
||||
@@ -123,6 +137,20 @@ final class PolishStylePackTests: XCTestCase {
|
||||
XCTAssertTrue(guideline.contains("active style pack"))
|
||||
}
|
||||
|
||||
func testDatingStyleUsesRelationshipSpecificIntensityGuidelines() {
|
||||
let light = PolishIntensity.light.promptGuideline(styleID: "builtin.dating")
|
||||
let medium = PolishIntensity.medium.promptGuideline(styleID: "builtin.dating")
|
||||
let heavy = PolishIntensity.heavy.promptGuideline(styleID: "builtin.dating")
|
||||
|
||||
XCTAssertTrue(light.contains("Dating Light"))
|
||||
XCTAssertTrue(light.contains("without adding flirtation"))
|
||||
XCTAssertTrue(medium.contains("Dating Medium"))
|
||||
XCTAssertTrue(medium.contains("at most one"))
|
||||
XCTAssertTrue(heavy.contains("Dating Heavy"))
|
||||
XCTAssertTrue(heavy.contains("Increase romantic tension and directness"))
|
||||
XCTAssertTrue(heavy.contains("Style override"))
|
||||
}
|
||||
|
||||
func testHeavyIntensityStillAllowsStructuredStyle() {
|
||||
let guideline = PolishIntensity.heavy.promptGuideline(styleID: "builtin.structured")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user