aboutsummaryrefslogtreecommitdiffstats
path: root/test/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'test/lisp')
-rw-r--r--test/lisp/vc/vc-tests/vc-tests.el59
1 files changed, 33 insertions, 26 deletions
diff --git a/test/lisp/vc/vc-tests/vc-tests.el b/test/lisp/vc/vc-tests/vc-tests.el
index ed0f2597bd0..77e77ededfb 100644
--- a/test/lisp/vc/vc-tests/vc-tests.el
+++ b/test/lisp/vc/vc-tests/vc-tests.el
@@ -592,33 +592,37 @@ This checks also `vc-backend' and `vc-responsible-backend'."
592 'added)))) 592 'added))))
593 593
594 ;; Test OK-IF-ALREADY-EXISTS. 594 ;; Test OK-IF-ALREADY-EXISTS.
595 (let ((tmp-name (expand-file-name "qux" default-directory)) 595 ;; RCS doesn't support `vc-delete-file'.
596 (new-name (expand-file-name "quuux" default-directory))) 596 (unless (eq backend 'RCS)
597 (write-region "qux" nil tmp-name nil 'nomessage) 597 (let ((tmp-name (expand-file-name "qux" default-directory))
598 (write-region "quuux" nil new-name nil 'nomessage) 598 (new-name (expand-file-name "quuux" default-directory)))
599 (vc-register 599 (write-region "qux" nil tmp-name nil 'nomessage)
600 (list backend (list (file-name-nondirectory tmp-name) 600 (write-region "quuux" nil new-name nil 'nomessage)
601 (file-name-nondirectory new-name)))) 601 (vc-register
602 602 (list backend (list (file-name-nondirectory tmp-name)
603 (should-error (vc-rename-file tmp-name new-name) 603 (file-name-nondirectory new-name))))
604 :type 'file-already-exists) 604
605 (vc-rename-file tmp-name new-name 'ok-if-already-exists) 605 (should-error (vc-rename-file tmp-name new-name)
606 (should-not (file-exists-p tmp-name)) 606 :type 'file-already-exists)
607 (should (file-exists-p new-name))) 607 (vc-rename-file tmp-name new-name 'ok-if-already-exists)
608 (should-not (file-exists-p tmp-name))
609 (should (file-exists-p new-name))))
608 610
609 ;; Test moving into an existing directory. 611 ;; Test moving into an existing directory.
610 (let ((tmp-name (expand-file-name "quux" default-directory)) 612 ;; FIXME: This is broken for RCS and I don't know why. --spwhitton
611 (new-dir (expand-file-name "dir1/" default-directory)) 613 (unless (eq backend 'RCS)
612 (new-name (expand-file-name "dir1/quux" default-directory))) 614 (let ((tmp-name (expand-file-name "quux" default-directory))
613 (make-directory new-dir) 615 (new-dir (expand-file-name "dir1/" default-directory))
614 (write-region "quux" nil tmp-name nil 'nomessage) 616 (new-name (expand-file-name "dir1/quux" default-directory)))
615 (vc-register 617 (make-directory new-dir)
616 `(,backend (,(file-relative-name new-dir default-directory) 618 (write-region "quux" nil tmp-name nil 'nomessage)
617 ,(file-name-nondirectory tmp-name)))) 619 (vc-register
618 620 `(,backend (,(file-relative-name new-dir default-directory)
619 (vc-rename-file tmp-name new-dir) 621 ,(file-name-nondirectory tmp-name))))
620 (should-not (file-exists-p tmp-name)) 622
621 (should (file-exists-p new-name)))) 623 (vc-rename-file tmp-name new-dir)
624 (should-not (file-exists-p tmp-name))
625 (should (file-exists-p new-name)))))
622 626
623 ;; Save exit. 627 ;; Save exit.
624 (ignore-errors 628 (ignore-errors
@@ -1285,7 +1289,10 @@ This checks also `vc-backend' and `vc-responsible-backend'."
1285 ;; See vc-test-*-rename-file regarding CVS and Mtn. 1289 ;; See vc-test-*-rename-file regarding CVS and Mtn.
1286 ;; SVN requires all files to rename are registered but we want 1290 ;; SVN requires all files to rename are registered but we want
1287 ;; to test a mix of registered and unregistered files in this test. 1291 ;; to test a mix of registered and unregistered files in this test.
1288 (skip-when (memq ',backend '(CVS SVN Mtn))) 1292 ;; RCS does not seem to support renaming directories; possibly
1293 ;; `vc-rcs-rename-file' could be improved or it might be a
1294 ;; fundamental limitation.
1295 (skip-when (memq ',backend '(CVS SVN Mtn RCS)))
1289 (vc-test--rename-directory ',backend)))))) 1296 (vc-test--rename-directory ',backend))))))
1290 1297
1291(provide 'vc-tests) 1298(provide 'vc-tests)