This commit is contained in:
@@ -874,6 +874,35 @@ final class ClipboardPanelViewModelTests: XCTestCase {
|
||||
XCTAssertEqual(viewModel.stackCount, 0)
|
||||
}
|
||||
|
||||
func testStackCopiesQueuedClipsAsPlainTextBatchAndConsumesThem() {
|
||||
let settings = makeSettings()
|
||||
let cacheService = makeCacheService()
|
||||
let store = makeStore(settings: settings, cacheService: cacheService)
|
||||
let first = makeTextItem("first reusable stack clip", createdAt: Date(timeIntervalSince1970: 100))
|
||||
let second = makeTextItem("second reusable stack clip", createdAt: Date(timeIntervalSince1970: 200))
|
||||
store.upsert(first)
|
||||
store.upsert(second)
|
||||
store.flushPersistenceForTesting()
|
||||
|
||||
let viewModel = ClipboardPanelViewModel(store: store, settings: settings, cacheService: cacheService)
|
||||
waitForVisibleItems(in: viewModel, count: 2)
|
||||
NSPasteboard.general.clearContents()
|
||||
|
||||
viewModel.selectItem(at: 1)
|
||||
viewModel.toggleSelectedStackMembership()
|
||||
viewModel.selectItem(at: 0)
|
||||
viewModel.toggleSelectedStackMembership()
|
||||
|
||||
viewModel.copyStackAsText()
|
||||
store.flushPersistenceForTesting()
|
||||
|
||||
XCTAssertEqual(NSPasteboard.general.string(forType: .string), "first reusable stack clip\n\nsecond reusable stack clip")
|
||||
XCTAssertEqual(viewModel.statusMessage, "Copied 2 Stack clips as Text")
|
||||
XCTAssertEqual(viewModel.stackCount, 0)
|
||||
XCTAssertEqual(store.items.first(where: { $0.id == first.id })?.useCount, 1)
|
||||
XCTAssertEqual(store.items.first(where: { $0.id == second.id })?.useCount, 1)
|
||||
}
|
||||
|
||||
func testStackToggleAndClearUpdateCount() {
|
||||
let settings = makeSettings()
|
||||
let cacheService = makeCacheService()
|
||||
|
||||
@@ -974,7 +974,7 @@ final class ClipboardPanelViewTests: XCTestCase {
|
||||
|
||||
XCTAssertEqual(
|
||||
fixture.view.debugFirstCardMenuTitles,
|
||||
["Paste", "Copy", "Rename...", "Remove from Stack", "Add Visible Clips to Stack", "Paste Stack Next", "Copy Stack Next", "Clear Stack", "Edit", "Quick Look", "Pin", "Add to Collection", "Capture Rules", "-", "Open", "Reveal in Finder", "-", "Delete"]
|
||||
["Paste", "Copy", "Rename...", "Remove from Stack", "Add Visible Clips to Stack", "Paste Stack Next", "Copy Stack Next", "Paste Stack as Text", "Copy Stack as Text", "Clear Stack", "Edit", "Quick Look", "Pin", "Add to Collection", "Capture Rules", "-", "Open", "Reveal in Finder", "-", "Delete"]
|
||||
)
|
||||
XCTAssertEqual(fixture.view.debugFirstCardVisibleActionLabels, ["Paste", "Copy", "Pin", "Collect", "Edit", "Preview", "Delete"])
|
||||
XCTAssertEqual(fixture.view.debugStackCornerLabels, ["Remove from Stack"])
|
||||
@@ -1073,7 +1073,7 @@ final class ClipboardPanelViewTests: XCTestCase {
|
||||
XCTAssertEqual(fixture.view.debugStackChipCount, 1)
|
||||
XCTAssertEqual(
|
||||
fixture.view.debugStackChipMenuTitles,
|
||||
["Add Visible Clips to Stack", "Paste Stack Next", "Copy Stack Next", "Clear Stack"]
|
||||
["Add Visible Clips to Stack", "Paste Stack Next", "Copy Stack Next", "Paste Stack as Text", "Copy Stack as Text", "Clear Stack"]
|
||||
)
|
||||
|
||||
fixture.view.debugAddVisibleClipsToStackFromStackChip()
|
||||
|
||||
Reference in New Issue
Block a user