mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	It is otherwise impossible to determine which test failed sanitizer/valgrind check. test/functional/helpers.lua module return was changed so that tests which do not provide after_each function to get new check will automatically fail.
		
			
				
	
	
		
			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 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([[
 | 
						||
      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.
 | 
						||
    execute('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.
 | 
						||
    execute('set nrformats=octal', '2')
 | 
						||
    feed('0w102l2w65129blx6lD')
 | 
						||
 | 
						||
    -- 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 fourth row, interpret all numbers as decimal.
 | 
						||
    execute('set nrformats=', '4')
 | 
						||
    feed('0200l100w78')
 | 
						||
 | 
						||
    -- For the last row, interpret as binary and hexadecimal.
 | 
						||
    execute('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)
 |