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