Mercurial > vim
comparison src/testdir/test_rename.vim @ 30669:de319bf98a39 v9.0.0669
patch 9.0.0669: too many delete() calls in tests
Commit: https://github.com/vim/vim/commit/db77cb3c08784e6038dd029271b2080c1b2d9acb
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Oct 5 21:45:30 2022 +0100
patch 9.0.0669: too many delete() calls in tests
Problem: Too many delete() calls in tests.
Solution: Use deferred delete where possible.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 05 Oct 2022 23:00:04 +0200 |
parents | ff21e2962490 |
children |
comparison
equal
deleted
inserted
replaced
30668:fc3a551afc3e | 30669:de319bf98a39 |
---|---|
10 call assert_equal('', glob('Xrename1')) | 10 call assert_equal('', glob('Xrename1')) |
11 call assert_equal(['foo'], readfile('Xrename2')) | 11 call assert_equal(['foo'], readfile('Xrename2')) |
12 | 12 |
13 " When the destination file already exists, it should be overwritten. | 13 " When the destination file already exists, it should be overwritten. |
14 call writefile(['foo'], 'Xrename1') | 14 call writefile(['foo'], 'Xrename1') |
15 call writefile(['bar'], 'Xrename2') | 15 call writefile(['bar'], 'Xrename2', 'D') |
16 | 16 |
17 call assert_equal(0, rename('Xrename1', 'Xrename2')) | 17 call assert_equal(0, rename('Xrename1', 'Xrename2')) |
18 call assert_equal('', glob('Xrename1')) | 18 call assert_equal('', glob('Xrename1')) |
19 call assert_equal(['foo'], readfile('Xrename2')) | 19 call assert_equal(['foo'], readfile('Xrename2')) |
20 | 20 |
34 set fileignorecase& | 34 set fileignorecase& |
35 call delete('XRENAME') | 35 call delete('XRENAME') |
36 endfunc | 36 endfunc |
37 | 37 |
38 func Test_rename_same_file() | 38 func Test_rename_same_file() |
39 call writefile(['foo'], 'Xrename') | 39 call writefile(['foo'], 'Xrename', 'D') |
40 | 40 |
41 " When the source and destination are the same file, nothing | 41 " When the source and destination are the same file, nothing |
42 " should be done. The source file should not be deleted. | 42 " should be done. The source file should not be deleted. |
43 call assert_equal(0, rename('Xrename', 'Xrename')) | 43 call assert_equal(0, rename('Xrename', 'Xrename')) |
44 call assert_equal(['foo'], readfile('Xrename')) | 44 call assert_equal(['foo'], readfile('Xrename')) |
45 | 45 |
46 call assert_equal(0, rename('./Xrename', 'Xrename')) | 46 call assert_equal(0, rename('./Xrename', 'Xrename')) |
47 call assert_equal(['foo'], readfile('Xrename')) | 47 call assert_equal(['foo'], readfile('Xrename')) |
48 | |
49 call delete('Xrename') | |
50 endfunc | 48 endfunc |
51 | 49 |
52 func Test_rename_dir_to_dir() | 50 func Test_rename_dir_to_dir() |
53 call mkdir('Xrenamedir1') | 51 call mkdir('Xrenamedir1') |
54 call writefile(['foo'], 'Xrenamedir1/Xrenamefile') | 52 call writefile(['foo'], 'Xrenamedir1/Xrenamefile') |
61 call delete('Xrenamedir2/Xrenamefile') | 59 call delete('Xrenamedir2/Xrenamefile') |
62 call delete('Xrenamedir2', 'd') | 60 call delete('Xrenamedir2', 'd') |
63 endfunc | 61 endfunc |
64 | 62 |
65 func Test_rename_same_dir() | 63 func Test_rename_same_dir() |
66 call mkdir('Xrenamedir') | 64 call mkdir('Xrenamedir', 'R') |
67 call writefile(['foo'], 'Xrenamedir/Xrenamefile') | 65 call writefile(['foo'], 'Xrenamedir/Xrenamefile') |
68 | 66 |
69 call assert_equal(0, rename('Xrenamedir', 'Xrenamedir')) | 67 call assert_equal(0, rename('Xrenamedir', 'Xrenamedir')) |
70 | 68 |
71 call assert_equal(['foo'], readfile('Xrenamedir/Xrenamefile')) | 69 call assert_equal(['foo'], readfile('Xrenamedir/Xrenamefile')) |
72 | |
73 call delete('Xrenamedir/Xrenamefile') | |
74 call delete('Xrenamedir', 'd') | |
75 endfunc | 70 endfunc |
76 | 71 |
77 func Test_rename_copy() | 72 func Test_rename_copy() |
78 " Check that when original file can't be deleted, rename() | 73 " Check that when original file can't be deleted, rename() |
79 " still succeeds but copies the file. | 74 " still succeeds but copies the file. |
80 call mkdir('Xrenamedir') | 75 call mkdir('Xrenamedir', 'R') |
81 call writefile(['foo'], 'Xrenamedir/Xrenamefile') | 76 call writefile(['foo'], 'Xrenamedir/Xrenamefile') |
82 call setfperm('Xrenamedir', 'r-xr-xr-x') | 77 call setfperm('Xrenamedir', 'r-xr-xr-x') |
83 | 78 |
84 call assert_equal(0, rename('Xrenamedir/Xrenamefile', 'Xrenamefile')) | 79 call assert_equal(0, rename('Xrenamedir/Xrenamefile', 'Xrenamefile')) |
85 | 80 |
89 call assert_equal(['foo'], readfile('Xrenamedir/Xrenamefile')) | 84 call assert_equal(['foo'], readfile('Xrenamedir/Xrenamefile')) |
90 endif | 85 endif |
91 call assert_equal(['foo'], readfile('Xrenamefile')) | 86 call assert_equal(['foo'], readfile('Xrenamefile')) |
92 | 87 |
93 call setfperm('Xrenamedir', 'rwxrwxrwx') | 88 call setfperm('Xrenamedir', 'rwxrwxrwx') |
94 call delete('Xrenamedir/Xrenamefile') | |
95 call delete('Xrenamedir', 'd') | |
96 call delete('Xrenamefile') | 89 call delete('Xrenamefile') |
97 endfunc | 90 endfunc |
98 | 91 |
99 func Test_rename_fails() | 92 func Test_rename_fails() |
100 call writefile(['foo'], 'Xrenamefile') | 93 call writefile(['foo'], 'Xrenamefile', 'D') |
101 | 94 |
102 " Can't rename into a non-existing directory. | 95 " Can't rename into a non-existing directory. |
103 call assert_notequal(0, rename('Xrenamefile', 'Xdoesnotexist/Xrenamefile')) | 96 call assert_notequal(0, rename('Xrenamefile', 'Xdoesnotexist/Xrenamefile')) |
104 | 97 |
105 " Can't rename a non-existing file. | 98 " Can't rename a non-existing file. |
113 " Can't rename to en empty file name. | 106 " Can't rename to en empty file name. |
114 call assert_notequal(0, rename('Xrenamefile', '')) | 107 call assert_notequal(0, rename('Xrenamefile', '')) |
115 | 108 |
116 call assert_fails('call rename("Xrenamefile", [])', 'E730:') | 109 call assert_fails('call rename("Xrenamefile", [])', 'E730:') |
117 call assert_fails('call rename(0z, "Xrenamefile")', 'E976:') | 110 call assert_fails('call rename(0z, "Xrenamefile")', 'E976:') |
118 | |
119 call delete('Xrenamefile') | |
120 endfunc | 111 endfunc |
121 | 112 |
122 " vim: shiftwidth=2 sts=2 expandtab | 113 " vim: shiftwidth=2 sts=2 expandtab |