2026-08-22 19:47:40 -05:00
|
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
|
import {
|
2026-09-20 14:56:39 -05:00
|
|
|
canUploadToRdpDrive,
|
2026-08-22 19:47:40 -05:00
|
|
|
getFileDropDisposition,
|
|
|
|
|
hasDraggedFiles,
|
2026-10-01 16:20:16 -05:00
|
|
|
} from "../../src/frontend/guacamole-file-drop.ts";
|
2026-08-22 19:47:40 -05:00
|
|
|
|
|
|
|
|
describe("Guacamole file drop", () => {
|
|
|
|
|
it("recognizes external file drags", () => {
|
|
|
|
|
expect(hasDraggedFiles(["Files"])).toBe(true);
|
|
|
|
|
expect(hasDraggedFiles(["text/plain"])).toBe(false);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("rejects files when upload is unavailable instead of ignoring them", () => {
|
|
|
|
|
expect(getFileDropDisposition(["Files"], 1, false)).toBe("reject");
|
|
|
|
|
expect(getFileDropDisposition(["Files"], 1, true)).toBe("upload");
|
|
|
|
|
});
|
2026-09-20 14:56:39 -05:00
|
|
|
|
|
|
|
|
it("accepts an enabled RDP drive before a filesystem object is advertised", () => {
|
|
|
|
|
expect(canUploadToRdpDrive(true, true, false)).toBe(true);
|
|
|
|
|
expect(canUploadToRdpDrive(true, false, true)).toBe(true);
|
|
|
|
|
expect(canUploadToRdpDrive(true, false, false)).toBe(false);
|
|
|
|
|
expect(canUploadToRdpDrive(false, true, true)).toBe(false);
|
|
|
|
|
});
|
2026-08-22 19:47:40 -05:00
|
|
|
});
|