mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 13:45:15 -07:00
65fb622000
Hope this will make people using feed_command less likely: this hides bugs. Already found at least two: 1. msgpackparse() will show internal error: hash_add() in case of duplicate keys, though it will still work correctly. Currently silenced. 2. ttimeoutlen was spelled incorrectly, resulting in option not being set when expected. Test was still functioning somehow though. Currently fixed.
51 lines
1.7 KiB
Lua
51 lines
1.7 KiB
Lua
-- Test Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,
|
||
-- and octal numbers.
|
||
|
||
local helpers = require('test.functional.helpers')(after_each)
|
||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||
local feed_command, expect = helpers.feed_command, helpers.expect
|
||
|
||
describe('increment and decrement commands', function()
|
||
setup(clear)
|
||
|
||
it('should work', function()
|
||
-- Insert some numbers in various bases.
|
||
insert([[
|
||
0b101 100 0x100 077 0
|
||
0b101 100 0x100 077
|
||
100 0x100 077 0xfF 0xFf
|
||
100 0x100 077
|
||
0x0b101 0b1101]])
|
||
|
||
-- Increment and decrement numbers in the first row, interpreting the
|
||
-- numbers as decimal, octal or hexadecimal.
|
||
feed_command('set nrformats=bin,octal,hex', '1')
|
||
feed('63l102ll64128$')
|
||
|
||
-- For the second row, treat the numbers as decimal or octal.
|
||
-- 0x100 should be interpreted as decimal 0, the character x, and decimal 100.
|
||
feed_command('set nrformats=octal', '2')
|
||
feed('0w102l2w65129blx6lD')
|
||
|
||
-- For the third row, treat the numbers as decimal or hexadecimal.
|
||
-- 077 should be interpreted as decimal 77.
|
||
feed_command('set nrformats=hex', '3')
|
||
feed('0101l257Txldt ')
|
||
|
||
-- For the fourth row, interpret all numbers as decimal.
|
||
feed_command('set nrformats=', '4')
|
||
feed('0200l100w78')
|
||
|
||
-- For the last row, interpret as binary and hexadecimal.
|
||
feed_command('set nrformats=bin,hex', '5')
|
||
feed('010065l6432')
|
||
|
||
expect([[
|
||
0b011 0 0x0ff 0000 -1
|
||
1b101 0 1x100 0777777
|
||
-1 0x0 078 0xFE 0xfe
|
||
-100 -100x100 000
|
||
0x0b0de 0b0101101]])
|
||
end)
|
||
end)
|