legacy tests: migrate test35. #1318

Migrate vim's integration test 35 (increment/decrement commands) to
lua/busted.
This commit is contained in:
Nate Sullivan 2014-10-21 01:07:47 -07:00 committed by Justin M. Keyes
parent 2f31c3d6ce
commit d11fd1950f
3 changed files with 44 additions and 25 deletions

View File

@ -1,21 +0,0 @@
Test Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,
and octal numbers.
STARTTEST
/^start-here
:set nrformats=octal,hex
j102ll64128$
:set nrformats=octal
0102l2w65129blx6lD
:set nrformats=hex
0101l257Txldt   
:set nrformats=
0200l100w78k
:$-3,$wq! test.out
ENDTEST
start-here
100 0x100 077 0
100 0x100 077
100 0x100 077 0xfF 0xFf
100 0x100 077

View File

@ -1,4 +0,0 @@
0 0x0ff 0000 -1
0 1x100 0777777
-1 0x0 078 0xFE 0xfe
-100 -100x100 000

View File

@ -0,0 +1,44 @@
-- 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)