mirror of
https://github.com/neovim/neovim.git
synced 2024-12-21 19:55:04 -07:00
d11fd1950f
Migrate vim's integration test 35 (increment/decrement commands) to lua/busted.
45 lines
1.5 KiB
Lua
45 lines
1.5 KiB
Lua
-- Test Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,
|
||
-- and octal numbers.
|
||
|
||
local helpers = require('test.functional.helpers')
|
||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||
local execute, expect = helpers.execute, helpers.expect
|
||
|
||
describe('increment and decrement commands', function()
|
||
setup(clear)
|
||
|
||
it('should work', function()
|
||
-- Insert some numbers in various bases.
|
||
insert([[
|
||
100 0x100 077 0
|
||
100 0x100 077
|
||
100 0x100 077 0xfF 0xFf
|
||
100 0x100 077]])
|
||
|
||
-- Increment and decrement numbers in the first row, interpreting the
|
||
-- numbers as decimal, octal or hexadecimal.
|
||
execute('set nrformats=octal,hex', '1')
|
||
feed('102ll64128$')
|
||
|
||
-- For the second row, treat the numbers as decimal or octal.
|
||
-- 0x100 should be interpreted as decimal 0, the character x, and decimal 100.
|
||
execute('set nrformats=octal', '2')
|
||
feed('0102l2w65129blx6lD')
|
||
|
||
-- For the third row, treat the numbers as decimal or hexadecimal.
|
||
-- 077 should be interpreted as decimal 77.
|
||
execute('set nrformats=hex', '3')
|
||
feed('0101l257Txldt ')
|
||
|
||
-- For the last row, interpret all numbers as decimal.
|
||
execute('set nrformats=', '4')
|
||
feed('0200l100w78')
|
||
|
||
expect([[
|
||
0 0x0ff 0000 -1
|
||
0 1x100 0777777
|
||
-1 0x0 078 0xFE 0xfe
|
||
-100 -100x100 000]])
|
||
end)
|
||
end)
|