neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

015_alignment_spec.lua (6298B)


      1 -- Tests for :right on text with embedded TAB.
      2 -- Also test formatting a paragraph.
      3 -- Also test undo after ":%s" and formatting.
      4 
      5 local n = require('test.functional.testnvim')()
      6 
      7 local feed, insert = n.feed, n.insert
      8 local clear, feed_command, expect = n.clear, n.feed_command, n.expect
      9 
     10 describe('alignment', function()
     11  setup(clear)
     12 
     13  -- luacheck: ignore 621 (Indentation)
     14  it('is working', function()
     15    insert([[
     16      	test for :left
     17      	  a		a
     18      	    fa		a
     19      	  dfa		a
     20      	        sdfa		a
     21      	  asdfa		a
     22      	        xasdfa		a
     23      asxxdfa		a
     24 
     25      	test for :center
     26      	  a		a
     27      	    fa		afd asdf
     28      	  dfa		a
     29      	        sdfa		afd asdf
     30      	  asdfa		a
     31      	        xasdfa		asdfasdfasdfasdfasdf
     32      asxxdfa		a
     33 
     34      	test for :right
     35      	a		a
     36      	fa		a
     37      	dfa		a
     38      	sdfa		a
     39      	asdfa		a
     40      	xasdfa		a
     41      	asxxdfa		a
     42      	asxa;ofa		a
     43      	asdfaqwer		a
     44      	a		ax
     45      	fa		ax
     46      	dfa		ax
     47      	sdfa		ax
     48      	asdfa		ax
     49      	xasdfa		ax
     50      	asxxdfa		ax
     51      	asxa;ofa		ax
     52      	asdfaqwer		ax
     53      	a		axx
     54      	fa		axx
     55      	dfa		axx
     56      	sdfa		axx
     57      	asdfa		axx
     58      	xasdfa		axx
     59      	asxxdfa		axx
     60      	asxa;ofa		axx
     61      	asdfaqwer		axx
     62      	a		axxx
     63      	fa		axxx
     64      	dfa		axxx
     65      	sdfa		axxx
     66      	asdfa		axxx
     67      	xasdfa		axxx
     68      	asxxdfa		axxx
     69      	asxa;ofa		axxx
     70      	asdfaqwer		axxx
     71      	a		axxxo
     72      	fa		axxxo
     73      	dfa		axxxo
     74      	sdfa		axxxo
     75      	asdfa		axxxo
     76      	xasdfa		axxxo
     77      	asxxdfa		axxxo
     78      	asxa;ofa		axxxo
     79      	asdfaqwer		axxxo
     80      	a		axxxoi
     81      	fa		axxxoi
     82      	dfa		axxxoi
     83      	sdfa		axxxoi
     84      	asdfa		axxxoi
     85      	xasdfa		axxxoi
     86      	asxxdfa		axxxoi
     87      	asxa;ofa		axxxoi
     88      	asdfaqwer		axxxoi
     89      	a		axxxoik
     90      	fa		axxxoik
     91      	dfa		axxxoik
     92      	sdfa		axxxoik
     93      	asdfa		axxxoik
     94      	xasdfa		axxxoik
     95      	asxxdfa		axxxoik
     96      	asxa;ofa		axxxoik
     97      	asdfaqwer		axxxoik
     98      	a		axxxoike
     99      	fa		axxxoike
    100      	dfa		axxxoike
    101      	sdfa		axxxoike
    102      	asdfa		axxxoike
    103      	xasdfa		axxxoike
    104      	asxxdfa		axxxoike
    105      	asxa;ofa		axxxoike
    106      	asdfaqwer		axxxoike
    107      	a		axxxoikey
    108      	fa		axxxoikey
    109      	dfa		axxxoikey
    110      	sdfa		axxxoikey
    111      	asdfa		axxxoikey
    112      	xasdfa		axxxoikey
    113      	asxxdfa		axxxoikey
    114      	asxa;ofa		axxxoikey
    115      	asdfaqwer		axxxoikey
    116 
    117      xxxxx xx xxxxxx
    118      xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
    119      xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx
    120      xx xxxxxxx. xxxx xxxx.
    121 
    122      > xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx
    123      > xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx
    124 
    125      aa aa aa aa
    126      bb bb bb bb
    127      cc cc cc cc]])
    128 
    129    feed_command('set tw=65')
    130 
    131    feed([[:/^\s*test for :left/,/^\s*test for :center/ left<cr>]])
    132    feed([[:/^\s*test for :center/,/^\s*test for :right/ center<cr>]])
    133    feed([[:/^\s*test for :right/,/^xxx/-1 right<cr>]])
    134 
    135    feed_command('set fo+=tcroql tw=72')
    136 
    137    feed('/xxxxxxxx$<cr>')
    138    feed('0gq6kk<cr>')
    139 
    140    -- Undo/redo here to make the next undo only work on the following changes.
    141    feed('u<cr>')
    142    feed_command('map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq')
    143    feed_command('/^aa')
    144    feed('ggu<cr>')
    145 
    146    -- Assert buffer contents.
    147    expect([[
    148      test for :left
    149      a		a
    150      fa		a
    151      dfa		a
    152      sdfa		a
    153      asdfa		a
    154      xasdfa		a
    155      asxxdfa		a
    156 
    157      			test for :center
    158      			 a		a
    159      		      fa		afd asdf
    160      			 dfa		a
    161      		    sdfa		afd asdf
    162      			 asdfa		a
    163      	      xasdfa		asdfasdfasdfasdfasdf
    164      			asxxdfa		a
    165 
    166      						  test for :right
    167      						      a		a
    168      						     fa		a
    169      						    dfa		a
    170      						   sdfa		a
    171      						  asdfa		a
    172      						 xasdfa		a
    173      						asxxdfa		a
    174      					       asxa;ofa		a
    175      					      asdfaqwer		a
    176      					      a		ax
    177      					     fa		ax
    178      					    dfa		ax
    179      					   sdfa		ax
    180      					  asdfa		ax
    181      					 xasdfa		ax
    182      					asxxdfa		ax
    183      				       asxa;ofa		ax
    184      				      asdfaqwer		ax
    185      					      a		axx
    186      					     fa		axx
    187      					    dfa		axx
    188      					   sdfa		axx
    189      					  asdfa		axx
    190      					 xasdfa		axx
    191      					asxxdfa		axx
    192      				       asxa;ofa		axx
    193      				      asdfaqwer		axx
    194      					      a		axxx
    195      					     fa		axxx
    196      					    dfa		axxx
    197      					   sdfa		axxx
    198      					  asdfa		axxx
    199      					 xasdfa		axxx
    200      					asxxdfa		axxx
    201      				       asxa;ofa		axxx
    202      				      asdfaqwer		axxx
    203      					      a		axxxo
    204      					     fa		axxxo
    205      					    dfa		axxxo
    206      					   sdfa		axxxo
    207      					  asdfa		axxxo
    208      					 xasdfa		axxxo
    209      					asxxdfa		axxxo
    210      				       asxa;ofa		axxxo
    211      				      asdfaqwer		axxxo
    212      					      a		axxxoi
    213      					     fa		axxxoi
    214      					    dfa		axxxoi
    215      					   sdfa		axxxoi
    216      					  asdfa		axxxoi
    217      					 xasdfa		axxxoi
    218      					asxxdfa		axxxoi
    219      				       asxa;ofa		axxxoi
    220      				      asdfaqwer		axxxoi
    221      					      a		axxxoik
    222      					     fa		axxxoik
    223      					    dfa		axxxoik
    224      					   sdfa		axxxoik
    225      					  asdfa		axxxoik
    226      					 xasdfa		axxxoik
    227      					asxxdfa		axxxoik
    228      				       asxa;ofa		axxxoik
    229      				      asdfaqwer		axxxoik
    230      					      a		axxxoike
    231      					     fa		axxxoike
    232      					    dfa		axxxoike
    233      					   sdfa		axxxoike
    234      					  asdfa		axxxoike
    235      					 xasdfa		axxxoike
    236      					asxxdfa		axxxoike
    237      				       asxa;ofa		axxxoike
    238      				      asdfaqwer		axxxoike
    239      					      a		axxxoikey
    240      					     fa		axxxoikey
    241      					    dfa		axxxoikey
    242      					   sdfa		axxxoikey
    243      					  asdfa		axxxoikey
    244      					 xasdfa		axxxoikey
    245      					asxxdfa		axxxoikey
    246      				       asxa;ofa		axxxoikey
    247      				      asdfaqwer		axxxoikey
    248 
    249      xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
    250      xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.
    251      xxxx xxxx.
    252 
    253      > xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx
    254      > xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx
    255 
    256      aa aa aa aa
    257      bb bb bb bb
    258      cc cc cc cc]])
    259  end)
    260 end)