xref: /vim-8.2.3635/src/testdir/test_shift.vim (revision 6d91bcb4)
1d5e3cc11SBram Moolenaar" Test shifting lines with :> and :<
2d5e3cc11SBram Moolenaar
3d5e3cc11SBram Moolenaarsource check.vim
4d5e3cc11SBram Moolenaar
5d5e3cc11SBram Moolenaarfunc Test_ex_shift_right()
6d5e3cc11SBram Moolenaar  set shiftwidth=2
7d5e3cc11SBram Moolenaar
8d5e3cc11SBram Moolenaar  " shift right current line.
9d5e3cc11SBram Moolenaar  call setline(1, range(1, 5))
10d5e3cc11SBram Moolenaar  2
11d5e3cc11SBram Moolenaar  >
12d5e3cc11SBram Moolenaar  3
13d5e3cc11SBram Moolenaar  >>
14d5e3cc11SBram Moolenaar  call assert_equal(['1',
15d5e3cc11SBram Moolenaar        \            '  2',
16d5e3cc11SBram Moolenaar        \            '    3',
17d5e3cc11SBram Moolenaar        \            '4',
18d5e3cc11SBram Moolenaar        \            '5'], getline(1, '$'))
19d5e3cc11SBram Moolenaar
20d5e3cc11SBram Moolenaar  " shift right with range.
21d5e3cc11SBram Moolenaar  call setline(1, range(1, 4))
22d5e3cc11SBram Moolenaar  2,3>>
23d5e3cc11SBram Moolenaar  call assert_equal(['1',
24d5e3cc11SBram Moolenaar        \            '    2',
25d5e3cc11SBram Moolenaar        \            '    3',
26d5e3cc11SBram Moolenaar        \            '4',
27d5e3cc11SBram Moolenaar        \            '5'], getline(1, '$'))
28d5e3cc11SBram Moolenaar
29d5e3cc11SBram Moolenaar  " shift right with range and count.
30d5e3cc11SBram Moolenaar  call setline(1, range(1, 4))
31d5e3cc11SBram Moolenaar  2>3
32d5e3cc11SBram Moolenaar  call assert_equal(['1',
33d5e3cc11SBram Moolenaar        \            '  2',
34d5e3cc11SBram Moolenaar        \            '  3',
35d5e3cc11SBram Moolenaar        \            '  4',
36d5e3cc11SBram Moolenaar        \            '5'], getline(1, '$'))
37d5e3cc11SBram Moolenaar
38d5e3cc11SBram Moolenaar  bw!
39d5e3cc11SBram Moolenaar  set shiftwidth&
40d5e3cc11SBram Moolenaarendfunc
41d5e3cc11SBram Moolenaar
42d5e3cc11SBram Moolenaarfunc Test_ex_shift_left()
43d5e3cc11SBram Moolenaar  set shiftwidth=2
44d5e3cc11SBram Moolenaar
45d5e3cc11SBram Moolenaar  call setline(1, range(1, 5))
46d5e3cc11SBram Moolenaar  %>>>
47d5e3cc11SBram Moolenaar
48d5e3cc11SBram Moolenaar  " left shift current line.
49d5e3cc11SBram Moolenaar  2<
50d5e3cc11SBram Moolenaar  3<<
51d5e3cc11SBram Moolenaar  4<<<<<
52d5e3cc11SBram Moolenaar  call assert_equal(['      1',
53d5e3cc11SBram Moolenaar        \            '    2',
54d5e3cc11SBram Moolenaar        \            '  3',
55d5e3cc11SBram Moolenaar        \            '4',
56d5e3cc11SBram Moolenaar        \            '      5'], getline(1, '$'))
57d5e3cc11SBram Moolenaar
58d5e3cc11SBram Moolenaar  " shift right with range.
59d5e3cc11SBram Moolenaar  call setline(1, range(1, 5))
60d5e3cc11SBram Moolenaar  %>>>
61d5e3cc11SBram Moolenaar  2,3<<
62d5e3cc11SBram Moolenaar  call assert_equal(['      1',
63d5e3cc11SBram Moolenaar        \            '  2',
64d5e3cc11SBram Moolenaar        \            '  3',
65d5e3cc11SBram Moolenaar        \            '      4',
66d5e3cc11SBram Moolenaar        \            '      5'], getline(1, '$'))
67d5e3cc11SBram Moolenaar
68d5e3cc11SBram Moolenaar  " shift right with range and count.
69d5e3cc11SBram Moolenaar  call setline(1, range(1, 5))
70d5e3cc11SBram Moolenaar  %>>>
71d5e3cc11SBram Moolenaar  2<<3
72d5e3cc11SBram Moolenaar  call assert_equal(['      1',
73d5e3cc11SBram Moolenaar     \               '  2',
74d5e3cc11SBram Moolenaar     \               '  3',
75d5e3cc11SBram Moolenaar     \               '  4',
76d5e3cc11SBram Moolenaar     \               '      5'], getline(1, '$'))
77d5e3cc11SBram Moolenaar
78d5e3cc11SBram Moolenaar  bw!
79d5e3cc11SBram Moolenaar  set shiftwidth&
80d5e3cc11SBram Moolenaarendfunc
81d5e3cc11SBram Moolenaar
82d5e3cc11SBram Moolenaarfunc Test_ex_shift_rightleft()
83d5e3cc11SBram Moolenaar  CheckFeature rightleft
84d5e3cc11SBram Moolenaar
85d5e3cc11SBram Moolenaar  set shiftwidth=2 rightleft
86d5e3cc11SBram Moolenaar
87d5e3cc11SBram Moolenaar  call setline(1, range(1, 4))
88d5e3cc11SBram Moolenaar  2,3<<
89d5e3cc11SBram Moolenaar  call assert_equal(['1',
90d5e3cc11SBram Moolenaar        \             '    2',
91d5e3cc11SBram Moolenaar        \             '    3',
92d5e3cc11SBram Moolenaar        \             '4'], getline(1, '$'))
93d5e3cc11SBram Moolenaar
94d5e3cc11SBram Moolenaar  3,4>
95d5e3cc11SBram Moolenaar  call assert_equal(['1',
96d5e3cc11SBram Moolenaar        \            '    2',
97d5e3cc11SBram Moolenaar        \            '  3',
98d5e3cc11SBram Moolenaar        \            '4'], getline(1, '$'))
99d5e3cc11SBram Moolenaar
100d5e3cc11SBram Moolenaar  bw!
101d5e3cc11SBram Moolenaar  set rightleft& shiftwidth&
102d5e3cc11SBram Moolenaarendfunc
103d5e3cc11SBram Moolenaar
104d5e3cc11SBram Moolenaarfunc Test_ex_shift_errors()
105d5e3cc11SBram Moolenaar  call assert_fails('><', 'E488:')
106d5e3cc11SBram Moolenaar  call assert_fails('<>', 'E488:')
107d5e3cc11SBram Moolenaar
108d5e3cc11SBram Moolenaar  call assert_fails('>!', 'E477:')
109d5e3cc11SBram Moolenaar  call assert_fails('<!', 'E477:')
110d5e3cc11SBram Moolenaar
111d5e3cc11SBram Moolenaar  call assert_fails('2,1>', 'E493:')
112d5e3cc11SBram Moolenaar  call assert_fails('2,1<', 'E493:')
113d5e3cc11SBram Moolenaarendfunc
114*6d91bcb4SBram Moolenaar
115*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
116