neovim/test/functional/legacy/035_increment_and_decrement_spec.lua
ZyX 65fb622000 functests: Replace execute with either command or feed_command
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.
2017-04-09 03:24:08 +03:00

51 lines
1.7 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 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)