diff --git a/Resources/Info.plist b/Resources/Info.plist index 48d4f800..f1beb4f9 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -93,15 +93,27 @@ - UTImportedTypeDeclarations + UTExportedTypeDeclarations UTTypeIdentifier com.splittabbar.tabtransfer + UTTypeDescription + Bonsplit Tab Transfer + UTTypeConformsTo + + public.data + UTTypeIdentifier com.cmux.sidebar-tab-reorder + UTTypeDescription + cmux Sidebar Tab Reorder + UTTypeConformsTo + + public.data + NSAppTransportSecurity diff --git a/cmuxTests/CmuxWebViewKeyEquivalentTests.swift b/cmuxTests/CmuxWebViewKeyEquivalentTests.swift index 501256ad..7eb7460f 100644 --- a/cmuxTests/CmuxWebViewKeyEquivalentTests.swift +++ b/cmuxTests/CmuxWebViewKeyEquivalentTests.swift @@ -11001,6 +11001,27 @@ final class InternalTabDragConfigurationTests: XCTestCase { ) } } + +@MainActor +final class InternalTabDragBundleDeclarationTests: XCTestCase { + private func exportedTypeIdentifiers(bundle: Bundle) -> Set { + let declarations = (bundle.object(forInfoDictionaryKey: "UTExportedTypeDeclarations") as? [[String: Any]]) ?? [] + return Set(declarations.compactMap { $0["UTTypeIdentifier"] as? String }) + } + + func testAppBundleExportsInternalDragTypes() { + let exported = exportedTypeIdentifiers(bundle: Bundle(for: AppDelegate.self)) + + XCTAssertTrue( + exported.contains("com.splittabbar.tabtransfer"), + "Expected app bundle to export bonsplit tab-transfer type, got \(exported)" + ) + XCTAssertTrue( + exported.contains("com.cmux.sidebar-tab-reorder"), + "Expected app bundle to export sidebar tab-reorder type, got \(exported)" + ) + } +} #endif @MainActor