Mercurial > vim
annotate src/testdir/test_swap.vim @ 22498:04a9b1399d8e v8.2.1797
patch 8.2.1797: Vim9: some parts of the code not tested
Commit: https://github.com/vim/vim/commit/6abd3dc257cf56a8262db38eb15c7cc754e8e002
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 4 14:17:32 2020 +0200
patch 8.2.1797: Vim9: some parts of the code not tested
Problem: Vim9: some parts of the code not tested.
Solution: Add a few tests.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 04 Oct 2020 14:30:05 +0200 |
parents | 08940efa6b4e |
children | 83c2c489cb1b |
rev | line source |
---|---|
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for the swap feature |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
19776
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
3 source check.vim |
18277
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
4 source shared.vim |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
5 source term_util.vim |
18277
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
6 |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
7 func s:swapname() |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
8 return trim(execute('swapname')) |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
9 endfunc |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
10 |
12777
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
11 " Tests for 'directory' option. |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
12 func Test_swap_directory() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21337
diff
changeset
|
13 CheckUnix |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21337
diff
changeset
|
14 |
12777
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
15 let content = ['start of testfile', |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
16 \ 'line 2 Abcdefghij', |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
17 \ 'line 3 Abcdefghij', |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
18 \ 'end of testfile'] |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
19 call writefile(content, 'Xtest1') |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
20 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
21 " '.', swap file in the same directory as file |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
22 set dir=.,~ |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
23 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
24 " Verify that the swap file doesn't exist in the current directory |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
25 call assert_equal([], glob(".Xtest1*.swp", 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
26 edit Xtest1 |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
27 let swfname = s:swapname() |
12777
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
28 call assert_equal([swfname], glob(swfname, 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
29 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
30 " './dir', swap file in a directory relative to the file |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
31 set dir=./Xtest2,.,~ |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
32 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
33 call mkdir("Xtest2") |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
34 edit Xtest1 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
35 call assert_equal([], glob(swfname, 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
36 let swfname = "Xtest2/Xtest1.swp" |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
37 call assert_equal(swfname, s:swapname()) |
12777
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
38 call assert_equal([swfname], glob("Xtest2/*", 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
39 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
40 " 'dir', swap file in directory relative to the current dir |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
41 set dir=Xtest.je,~ |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
42 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
43 call mkdir("Xtest.je") |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
44 call writefile(content, 'Xtest2/Xtest3') |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
45 edit Xtest2/Xtest3 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
46 call assert_equal(["Xtest2/Xtest3"], glob("Xtest2/*", 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
47 let swfname = "Xtest.je/Xtest3.swp" |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
48 call assert_equal(swfname, s:swapname()) |
12777
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
49 call assert_equal([swfname], glob("Xtest.je/*", 1, 1, 1)) |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
50 |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
51 set dir& |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
52 call delete("Xtest1") |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
53 call delete("Xtest2", "rf") |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
54 call delete("Xtest.je", "rf") |
3272e1cde1eb
patch 8.0.1266: Test_swap_directory was commented out
Christian Brabandt <cb@256bit.org>
parents:
12775
diff
changeset
|
55 endfunc |
12771
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
56 |
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
57 func Test_swap_group() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21337
diff
changeset
|
58 CheckUnix |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21337
diff
changeset
|
59 |
12771
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
60 let groups = split(system('groups')) |
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
61 if len(groups) <= 1 |
12775
bda267b9fc68
patch 8.0.1265: swap test not skipped when there is one group
Christian Brabandt <cb@256bit.org>
parents:
12771
diff
changeset
|
62 throw 'Skipped: need at least two groups, got ' . string(groups) |
12771
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
63 endif |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
65 try |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
66 call delete('Xtest') |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
67 split Xtest |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
68 call setline(1, 'just some text') |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
69 wq |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
70 if system('ls -l Xtest') !~ ' ' . groups[0] . ' \d' |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
71 throw 'Skipped: test file does not have the first group' |
12771
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
72 else |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
73 silent !chmod 640 Xtest |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
74 call system('chgrp ' . groups[1] . ' Xtest') |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
75 if system('ls -l Xtest') !~ ' ' . groups[1] . ' \d' |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
76 throw 'Skipped: cannot set second group on test file' |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
77 else |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
78 split Xtest |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
79 let swapname = s:swapname() |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
80 call assert_match('Xtest', swapname) |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
81 " Group of swapfile must now match original file. |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
82 call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname)) |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
84 bwipe! |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
85 endif |
12771
8984342ab09e
patch 8.0.1263: others can read the swap file if a user is careless
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
86 endif |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
87 finally |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
88 call delete('Xtest') |
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12777
diff
changeset
|
89 endtry |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 endfunc |
13896
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
91 |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
92 func Test_missing_dir() |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
93 call mkdir('Xswapdir') |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
94 exe 'set directory=' . getcwd() . '/Xswapdir' |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
95 |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
96 call assert_equal('', glob('foo')) |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
97 call assert_equal('', glob('bar')) |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
98 edit foo/x.txt |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
99 " This should not give a warning for an existing swap file. |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
100 split bar/x.txt |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
101 only |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
102 |
15645
f315ab10d579
patch 8.1.0830: test leaves directory behind on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
14778
diff
changeset
|
103 " Delete the buffer so that swap file is removed before we try to delete the |
f315ab10d579
patch 8.1.0830: test leaves directory behind on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
14778
diff
changeset
|
104 " directory. That fails on MS-Windows. |
f315ab10d579
patch 8.1.0830: test leaves directory behind on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
14778
diff
changeset
|
105 %bdelete! |
13896
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
106 set directory& |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
107 call delete('Xswapdir', 'rf') |
4d5a1ada407e
patch 8.0.1819: swap file warning for file with non-existing directory
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
108 endfunc |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
109 |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
110 func Test_swapinfo() |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
111 new Xswapinfo |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
112 call setline(1, ['one', 'two', 'three']) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
113 w |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
114 let fname = s:swapname() |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
115 call assert_match('Xswapinfo', fname) |
18017
988e5a868b60
patch 8.1.2004: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16738
diff
changeset
|
116 let info = fname->swapinfo() |
14605
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
117 |
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
118 let ver = printf('VIM %d.%d', v:version / 100, v:version % 100) |
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
119 call assert_equal(ver, info.version) |
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
120 |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
121 call assert_match('\w', info.user) |
14605
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
122 " host name is truncated to 39 bytes in the swap file |
0c47880f3d95
patch 8.1.0316: swapinfo() test fails on Travis
Christian Brabandt <cb@256bit.org>
parents:
14601
diff
changeset
|
123 call assert_equal(hostname()[:38], info.host) |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
124 call assert_match('Xswapinfo', info.fname) |
14601
d0ff19a55579
patch 8.1.0314: build failure without the +eval feature
Christian Brabandt <cb@256bit.org>
parents:
14599
diff
changeset
|
125 call assert_match(0, info.dirty) |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
126 call assert_equal(getpid(), info.pid) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
127 call assert_match('^\d*$', info.mtime) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
128 if has_key(info, 'inode') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
129 call assert_match('\d', info.inode) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
130 endif |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
131 bwipe! |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
132 call delete(fname) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
133 call delete('Xswapinfo') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
134 |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
135 let info = swapinfo('doesnotexist') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
136 call assert_equal('Cannot open file', info.error) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
137 |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
138 call writefile(['burp'], 'Xnotaswapfile') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
139 let info = swapinfo('Xnotaswapfile') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
140 call assert_equal('Cannot read file', info.error) |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
141 call delete('Xnotaswapfile') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
142 |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
143 call writefile([repeat('x', 10000)], 'Xnotaswapfile') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
144 let info = swapinfo('Xnotaswapfile') |
14601
d0ff19a55579
patch 8.1.0314: build failure without the +eval feature
Christian Brabandt <cb@256bit.org>
parents:
14599
diff
changeset
|
145 call assert_equal('Not a swap file', info.error) |
14599
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
146 call delete('Xnotaswapfile') |
72d6f6f7ead7
patch 8.1.0313: information about a swap file is unavailable
Christian Brabandt <cb@256bit.org>
parents:
13896
diff
changeset
|
147 endfunc |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
148 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
149 func Test_swapname() |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
150 edit Xtest1 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
151 let expected = s:swapname() |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
152 call assert_equal(expected, swapname('%')) |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
153 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
154 new Xtest2 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
155 let buf = bufnr('%') |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
156 let expected = s:swapname() |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
157 wincmd p |
18017
988e5a868b60
patch 8.1.2004: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16738
diff
changeset
|
158 call assert_equal(expected, buf->swapname()) |
14778
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
159 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
160 new Xtest3 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
161 setlocal noswapfile |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
162 call assert_equal('', swapname('%')) |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
163 |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
164 bwipe! |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
165 call delete('Xtest1') |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
166 call delete('Xtest2') |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
167 call delete('Xtest3') |
20653d6f3d95
patch 8.1.0401: can't get swap name of another buffer
Christian Brabandt <cb@256bit.org>
parents:
14605
diff
changeset
|
168 endfunc |
16453
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
169 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
170 func Test_swapfile_delete() |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
171 autocmd! SwapExists |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
172 function s:swap_exists() |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
173 let v:swapchoice = s:swap_choice |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
174 let s:swapname = v:swapname |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
175 let s:filename = expand('<afile>') |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
176 endfunc |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
177 augroup test_swapfile_delete |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
178 autocmd! |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
179 autocmd SwapExists * call s:swap_exists() |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
180 augroup END |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
181 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
182 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
183 " Create a valid swapfile by editing a file. |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
184 split XswapfileText |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
185 call setline(1, ['one', 'two', 'three']) |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
186 write " file is written, not modified |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
187 " read the swapfile as a Blob |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
188 let swapfile_name = swapname('%') |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
189 let swapfile_bytes = readfile(swapfile_name, 'B') |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
190 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
191 " Close the file and recreate the swap file. |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
192 " Now editing the file will run into the process still existing |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
193 quit |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
194 call writefile(swapfile_bytes, swapfile_name) |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
195 let s:swap_choice = 'e' |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
196 let s:swapname = '' |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
197 split XswapfileText |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
198 quit |
16459
4ea761ce795b
patch 8.1.1234: swap file test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
16453
diff
changeset
|
199 call assert_equal(fnamemodify(swapfile_name, ':t'), fnamemodify(s:swapname, ':t')) |
16453
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
200 |
18277
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
201 " This test won't work as root because root can successfully run kill(1, 0) |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
202 if !IsRoot() |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
203 " Write the swapfile with a modified PID, now it will be automatically |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
204 " deleted. Process one should never be Vim. |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
205 let swapfile_bytes[24:27] = 0z01000000 |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
206 call writefile(swapfile_bytes, swapfile_name) |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
207 let s:swapname = '' |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
208 split XswapfileText |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
209 quit |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
210 call assert_equal('', s:swapname) |
f6dcf7eabd26
patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
18017
diff
changeset
|
211 endif |
16453
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
212 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
213 " Now set the modified flag, the swap file will not be deleted |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
214 let swapfile_bytes[28 + 80 + 899] = 0x55 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
215 call writefile(swapfile_bytes, swapfile_name) |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
216 let s:swapname = '' |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
217 split XswapfileText |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
218 quit |
16459
4ea761ce795b
patch 8.1.1234: swap file test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
16453
diff
changeset
|
219 call assert_equal(fnamemodify(swapfile_name, ':t'), fnamemodify(s:swapname, ':t')) |
16453
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
220 |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
221 call delete('XswapfileText') |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
222 call delete(swapfile_name) |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
223 augroup test_swapfile_delete |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
224 autocmd! |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
225 augroup END |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
226 augroup! test_swapfile_delete |
4e9bea9b8025
patch 8.1.1231: asking about existing swap file unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
15645
diff
changeset
|
227 endfunc |
16738
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
228 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
229 func Test_swap_recover() |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
230 autocmd! SwapExists |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
231 augroup test_swap_recover |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
232 autocmd! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
233 autocmd SwapExists * let v:swapchoice = 'r' |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
234 augroup END |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
235 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
236 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
237 call mkdir('Xswap') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
238 let $Xswap = 'foo' " Check for issue #4369. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
239 set dir=Xswap// |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
240 " Create a valid swapfile by editing a file. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
241 split Xswap/text |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
242 call setline(1, ['one', 'two', 'three']) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
243 write " file is written, not modified |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
244 " read the swapfile as a Blob |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
245 let swapfile_name = swapname('%') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
246 let swapfile_bytes = readfile(swapfile_name, 'B') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
247 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
248 " Close the file and recreate the swap file. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
249 quit |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
250 call writefile(swapfile_bytes, swapfile_name) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
251 " Edit the file again. This triggers recovery. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
252 try |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
253 split Xswap/text |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
254 catch |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
255 " E308 should be caught, not E305. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
256 call assert_exception('E308:') " Original file may have been changed |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
257 endtry |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
258 " The file should be recovered. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
259 call assert_equal(['one', 'two', 'three'], getline(1, 3)) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
260 quit! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
261 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
262 call delete('Xswap/text') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
263 call delete(swapfile_name) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
264 call delete('Xswap', 'd') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
265 unlet $Xswap |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
266 set dir& |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
267 augroup test_swap_recover |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
268 autocmd! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
269 augroup END |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
270 augroup! test_swap_recover |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
271 endfunc |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
272 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
273 func Test_swap_recover_ext() |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
274 autocmd! SwapExists |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
275 augroup test_swap_recover_ext |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
276 autocmd! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
277 autocmd SwapExists * let v:swapchoice = 'r' |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
278 augroup END |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
279 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
280 " Create a valid swapfile by editing a file with a special extension. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
281 split Xtest.scr |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
282 call setline(1, ['one', 'two', 'three']) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
283 write " file is written, not modified |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
284 write " write again to make sure the swapfile is created |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
285 " read the swapfile as a Blob |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
286 let swapfile_name = swapname('%') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
287 let swapfile_bytes = readfile(swapfile_name, 'B') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
288 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
289 " Close and delete the file and recreate the swap file. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
290 quit |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
291 call delete('Xtest.scr') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
292 call writefile(swapfile_bytes, swapfile_name) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
293 " Edit the file again. This triggers recovery. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
294 try |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
295 split Xtest.scr |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
296 catch |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
297 " E308 should be caught, not E306. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
298 call assert_exception('E308:') " Original file may have been changed |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
299 endtry |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
300 " The file should be recovered. |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
301 call assert_equal(['one', 'two', 'three'], getline(1, 3)) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
302 quit! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
303 |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
304 call delete('Xtest.scr') |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
305 call delete(swapfile_name) |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
306 augroup test_swap_recover_ext |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
307 autocmd! |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
308 augroup END |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
309 augroup! test_swap_recover_ext |
b52ea9c5f1db
patch 8.1.1371: cannot recover from a swap file
Bram Moolenaar <Bram@vim.org>
parents:
16459
diff
changeset
|
310 endfunc |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
311 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
312 " Test for closing a split window automatically when a swap file is detected |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
313 " and 'Q' is selected in the confirmation prompt. |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
314 func Test_swap_split_win() |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
315 autocmd! SwapExists |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
316 augroup test_swap_splitwin |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
317 autocmd! |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
318 autocmd SwapExists * let v:swapchoice = 'q' |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
319 augroup END |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
320 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
321 " Create a valid swapfile by editing a file with a special extension. |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
322 split Xtest.scr |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
323 call setline(1, ['one', 'two', 'three']) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
324 write " file is written, not modified |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
325 write " write again to make sure the swapfile is created |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
326 " read the swapfile as a Blob |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
327 let swapfile_name = swapname('%') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
328 let swapfile_bytes = readfile(swapfile_name, 'B') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
329 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
330 " Close and delete the file and recreate the swap file. |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
331 quit |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
332 call delete('Xtest.scr') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
333 call writefile(swapfile_bytes, swapfile_name) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
334 " Split edit the file again. This should fail to open the window |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
335 try |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
336 split Xtest.scr |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
337 catch |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
338 " E308 should be caught, not E306. |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
339 call assert_exception('E308:') " Original file may have been changed |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
340 endtry |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
341 call assert_equal(1, winnr('$')) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
342 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
343 call delete('Xtest.scr') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
344 call delete(swapfile_name) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
345 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
346 augroup test_swap_splitwin |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
347 autocmd! |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
348 augroup END |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
349 augroup! test_swap_splitwin |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
350 endfunc |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
351 |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
352 " Test for selecting 'q' in the attention prompt |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
353 func Test_swap_prompt_splitwin() |
19776
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
354 CheckRunVimInTerminal |
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
355 |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
356 call writefile(['foo bar'], 'Xfile1') |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
357 edit Xfile1 |
19776
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
358 preserve " should help to make sure the swap file exists |
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
359 |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
360 let buf = RunVimInTerminal('', {'rows': 20}) |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
361 call term_sendkeys(buf, ":set nomore\n") |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
362 call term_sendkeys(buf, ":set noruler\n") |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
363 call term_sendkeys(buf, ":split Xfile1\n") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19776
diff
changeset
|
364 call TermWait(buf) |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
365 call WaitForAssert({-> assert_match('^\[O\]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort: $', term_getline(buf, 20))}) |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
366 call term_sendkeys(buf, "q") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19776
diff
changeset
|
367 call TermWait(buf) |
19776
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
368 call term_sendkeys(buf, ":\<CR>") |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
369 call WaitForAssert({-> assert_match('^:$', term_getline(buf, 20))}) |
19776
42e4083429a7
patch 8.2.0444: swap file test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
19487
diff
changeset
|
370 call term_sendkeys(buf, ":echomsg winnr('$')\<CR>") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19776
diff
changeset
|
371 call TermWait(buf) |
19487
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
372 call WaitForAssert({-> assert_match('^1$', term_getline(buf, 20))}) |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
373 call StopVimInTerminal(buf) |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
374 %bwipe! |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
375 call delete('Xfile1') |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
376 endfunc |
0aba9ef12488
patch 8.2.0301: insufficient testing for exception handling
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
377 |
21337
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
378 func Test_swap_symlink() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21337
diff
changeset
|
379 CheckUnix |
21337
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
380 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
381 call writefile(['text'], 'Xtestfile') |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
382 silent !ln -s -f Xtestfile Xtestlink |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
383 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
384 set dir=. |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
385 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
386 " Test that swap file uses the name of the file when editing through a |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
387 " symbolic link (so that editing the file twice is detected) |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
388 edit Xtestlink |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
389 call assert_match('Xtestfile\.swp$', s:swapname()) |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
390 bwipe! |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
391 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
392 call mkdir('Xswapdir') |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
393 exe 'set dir=' . getcwd() . '/Xswapdir//' |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
394 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
395 " Check that this also works when 'directory' ends with '//' |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
396 edit Xtestlink |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
397 call assert_match('Xtestfile\.swp$', s:swapname()) |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
398 bwipe! |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
399 |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
400 set dir& |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
401 call delete('Xtestfile') |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
402 call delete('Xtestlink') |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
403 call delete('Xswapdir', 'rf') |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
404 endfunc |
647897e6df9e
patch 8.2.1219: symlink not followed if dirname ends in //
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
405 |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
18277
diff
changeset
|
406 " vim: shiftwidth=2 sts=2 expandtab |