Mercurial > vim
annotate src/testdir/test_behave.vim @ 33774:f2dd85a2bfc0 v9.0.2107
patch 9.0.2107: [security]: FPE in adjust_plines_for_skipcol
Commit: https://github.com/vim/vim/commit/cb0b99f0672d8446585d26e998343dceca17d1ce
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Nov 14 20:05:59 2023 +0100
patch 9.0.2107: [security]: FPE in adjust_plines_for_skipcol
Problem: [security]: FPE in adjust_plines_for_skipcol
Solution: don't divide by zero, return zero
Prevent a floating point exception when calculating w_skipcol (which can
happen with a small window when the number option is set and cpo+=n).
Add a test to verify
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 16 Nov 2023 22:15:08 +0100 |
parents | 08940efa6b4e |
children |
rev | line source |
---|---|
14754
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test the :behave command |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 func Test_behave() |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 behave mswin |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 call assert_equal('mouse,key', &selectmode) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 call assert_equal('popup', &mousemodel) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 call assert_equal('startsel,stopsel', &keymodel) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 call assert_equal('exclusive', &selection) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 behave xterm |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 call assert_equal('', &selectmode) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal('extend', &mousemodel) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 call assert_equal('', &keymodel) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 call assert_equal('inclusive', &selection) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 set selection& |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 set mousemodel& |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 set keymodel& |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 set selection& |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 endfunc |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 func Test_behave_completion() |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call feedkeys(":behave \<C-A>\<C-B>\"\<CR>", 'tx') |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 call assert_equal('"behave mswin xterm', @:) |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 endfunc |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 func Test_behave_error() |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 call assert_fails('behave x', 'E475:') |
d4db9adc8642
patch 8.1.0389: :behave command is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
14754
diff
changeset
|
30 |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
14754
diff
changeset
|
31 " vim: shiftwidth=2 sts=2 expandtab |