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