Files
Termind/TermindTests/FileURLDropTargetTests.swift
T
2026-08-24 18:20:20 +08:00

30 lines
1.0 KiB
Swift

#if canImport(AppKit)
import AppKit
import Testing
@testable import Termind
@MainActor
struct FileURLDropTargetTests {
@Test
func nativeTargetOnlyParticipatesWhenDragPasteboardContainsAFileURL() throws {
let pasteboard = NSPasteboard(name: .drag)
pasteboard.clearContents()
defer { pasteboard.clearContents() }
let target = FileURLDropNSView(isTargeted: { _ in }, receive: { _ in true })
target.frame = CGRect(x: 0, y: 0, width: 200, height: 100)
let point = CGPoint(x: 50, y: 50)
#expect(target.hitTest(point) == nil)
let file = FileManager.default.temporaryDirectory
.appendingPathComponent("termind-drop-target-test.txt")
try Data("probe".utf8).write(to: file)
defer { try? FileManager.default.removeItem(at: file) }
#expect(pasteboard.writeObjects([file as NSURL]))
#expect(target.hitTest(point) === target)
}
}
#endif