aboutsummaryrefslogtreecommitdiff
path: root/tests/test-duet-safety.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-duet-safety.el')
-rw-r--r--tests/test-duet-safety.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/test-duet-safety.el b/tests/test-duet-safety.el
index 450a8ea..3f07b6f 100644
--- a/tests/test-duet-safety.el
+++ b/tests/test-duet-safety.el
@@ -101,6 +101,14 @@
(should (null (duet--plan-safety "/a/f" "/b/f"
(list :file-type (lambda (_) 'file))))))
+(ert-deftest test-duet-safety-plan-detects-case-collision-via-caps ()
+ "The composite invokes the injected existing-names and case-fold predicates."
+ (let ((caps (list :file-type (lambda (_) 'file)
+ :existing-names (lambda (_) '("foo.txt"))
+ :case-insensitive (lambda (_) t))))
+ (should (cl-some (lambda (p) (eq 'case-collision (plist-get p :class)))
+ (duet--plan-safety "/a/Foo.txt" "/b/Foo.txt" caps)))))
+
(ert-deftest test-duet-safety-plan-collects-multiple-problems ()
"A pair tripping several checks reports each problem."
(let* ((caps (list :file-type (lambda (_) 'fifo)