Mercurial > vim
comparison src/testdir/test_edit.vim @ 25856:1a5351f6803f v8.2.3462
patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Commit: https://github.com/vim/vim/commit/d85931e67316e824878000d0ead122553ccef3a4
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 2 16:55:39 2021 +0100
patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Problem: The ModeChanged event only uses one character for the new_mode and
old_mode values.
Solution: Pass one as first argument to mode(). (issue #8856)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 02 Oct 2021 18:00:05 +0200 |
parents | 16a7d1154be8 |
children | fc39d7352cb6 |
comparison
equal
deleted
inserted
replaced
25855:8f877a00d685 | 25856:1a5351f6803f |
---|---|
1916 let g:index = 0 | 1916 let g:index = 0 |
1917 let g:mode_seq = ['n', 'i', 'n', 'v', 'V', 'n', 'V', 'v', 'n'] | 1917 let g:mode_seq = ['n', 'i', 'n', 'v', 'V', 'n', 'V', 'v', 'n'] |
1918 func! TestMode() | 1918 func! TestMode() |
1919 call assert_equal(g:mode_seq[g:index], get(v:event, "old_mode")) | 1919 call assert_equal(g:mode_seq[g:index], get(v:event, "old_mode")) |
1920 call assert_equal(g:mode_seq[g:index + 1], get(v:event, "new_mode")) | 1920 call assert_equal(g:mode_seq[g:index + 1], get(v:event, "new_mode")) |
1921 call assert_equal(mode(), get(v:event, "new_mode")) | 1921 call assert_equal(mode(1), get(v:event, "new_mode")) |
1922 let g:index += 1 | 1922 let g:index += 1 |
1923 endfunc | 1923 endfunc |
1924 | 1924 |
1925 au ModeChanged * :call TestMode() | 1925 au ModeChanged * :call TestMode() |
1926 au ModeChanged n:* :call DoIt() | 1926 au ModeChanged n:* :call DoIt() |
1928 call assert_equal(2, g:count) | 1928 call assert_equal(2, g:count) |
1929 | 1929 |
1930 au ModeChanged V:v :call DoIt() | 1930 au ModeChanged V:v :call DoIt() |
1931 call feedkeys("Vv\<esc>", 'tnix') | 1931 call feedkeys("Vv\<esc>", 'tnix') |
1932 call assert_equal(4, g:count) | 1932 call assert_equal(4, g:count) |
1933 | 1933 call assert_equal(len(g:mode_seq) - 1, g:index) |
1934 | |
1935 let g:index = 0 | |
1936 let g:mode_seq = ['n', 'i', 'niI', 'i', 'n'] | |
1937 call feedkeys("a\<C-O>l\<esc>", 'tnix') | |
1934 call assert_equal(len(g:mode_seq) - 1, g:index) | 1938 call assert_equal(len(g:mode_seq) - 1, g:index) |
1935 | 1939 |
1936 au! ModeChanged | 1940 au! ModeChanged |
1937 delfunc TestMode | 1941 delfunc TestMode |
1938 unlet! g:mode_seq | 1942 unlet! g:mode_seq |