Mercurial > vim
annotate src/testdir/test_move.vim @ 31920:f1a5e67e9a1b v9.0.1292
patch 9.0.1292: :defer may call the wrong method for an object
Commit: https://github.com/vim/vim/commit/313e4724c3b4f6d7454b45b89da08f83a2a0c77e
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Feb 8 20:55:27 2023 +0000
patch 9.0.1292: :defer may call the wrong method for an object
Problem: :defer may call the wrong method for an object. (Ernie Rael)
Solution: When en object is from a class that extends or implements, figure
out the method to call at runtime. (closes #11910)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 08 Feb 2023 22:00:06 +0100 |
parents | 984969b81d63 |
children |
rev | line source |
---|---|
15010
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test the ":move" command. |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
31894
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3 source check.vim |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
4 source screendump.vim |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
5 |
15010
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 func Test_move() |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 enew! |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 call append(0, ['line 1', 'line 2', 'line 3']) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 g /^$/ delete _ |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 set nomodified |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 move . |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 call assert_equal(['line 1', 'line 2', 'line 3'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 call assert_false(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 1,2move 0 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 call assert_equal(['line 1', 'line 2', 'line 3'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 call assert_false(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 1,3move 3 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 call assert_equal(['line 1', 'line 2', 'line 3'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 call assert_false(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 1move 2 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 call assert_equal(['line 2', 'line 1', 'line 3'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 call assert_true(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 set nomodified |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 3move 0 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 call assert_equal(['line 3', 'line 2', 'line 1'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 call assert_true(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 set nomodified |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 2,3move 0 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 call assert_equal(['line 2', 'line 1', 'line 3'], getline(1, 3)) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 call assert_true(&modified) |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 set nomodified |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
39 call assert_fails('1,2move 1', 'E134:') |
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
40 call assert_fails('2,3move 2', 'E134:') |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
15010
diff
changeset
|
41 call assert_fails("move -100", 'E16:') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
15010
diff
changeset
|
42 call assert_fails("move +100", 'E16:') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
15010
diff
changeset
|
43 call assert_fails('move', 'E16:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
44 call assert_fails("move 'r", 'E20:') |
15010
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 %bwipeout! |
e3910b9827d0
patch 8.1.0516: :move command marks buffer modified when nothing changed
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 endfunc |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
15010
diff
changeset
|
48 |
31894
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
49 func Test_move_undo() |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
50 CheckRunVimInTerminal |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
51 |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
52 let lines =<< trim END |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
53 call setline(1, ['First', 'Second', 'Third', 'Fourth']) |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
54 END |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
55 call writefile(lines, 'Xtest_move_undo.vim', 'D') |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
56 let buf = RunVimInTerminal('-S Xtest_move_undo.vim', #{rows: 10, cols: 60, statusoff: 2}) |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
57 |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
58 call term_sendkeys(buf, "gg:move +1\<CR>") |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
59 call VerifyScreenDump(buf, 'Test_move_undo_1', {}) |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
60 |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
61 " here the display would show the last few lines scrolled down |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
62 call term_sendkeys(buf, "u") |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
63 call term_sendkeys(buf, ":\<Esc>") |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
64 call VerifyScreenDump(buf, 'Test_move_undo_2', {}) |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
65 |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
66 call StopVimInTerminal(buf) |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
67 endfunc |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
68 |
984969b81d63
patch 9.0.1279: display shows lines scrolled down erroneously
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
69 |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
15010
diff
changeset
|
70 " vim: shiftwidth=2 sts=2 expandtab |