Tests for using Ctrl-A/Ctrl-X on visual selections

Test cases
==========

1) Ctrl-A on visually selected number
Text:
foobar-10
    Expected:
    1)    Ctrl-A on start of line:
	foobar-9
    2)    Ctrl-A on visually selected "-10":
	foobar-9
    3)    Ctrl-A on visually selected "10":
	foobar-11
    4)    Ctrl-X on visually selected "-10"
	foobar-11
    5)    Ctrl-X on visually selected "10"
	foobar-9

2) Ctrl-A on visually selected lines
Text:
10
20
30
40

    Expected:
    1) Ctrl-A on visually selected lines:
11
21
31
41

    2) Ctrl-X on visually selected lines:
9
19
29
39

3) g Ctrl-A on visually selected lines, with non-numbers in between
Text:
10

20

30

40

    Expected:
    1) 2 g Ctrl-A on visually selected lines:
12

24

36

48
    2) 2 g Ctrl-X on visually selected lines
8

16

24

32

4) Ctrl-A on non-number
Text:
foobar-10
    Expected:
    1) visually select foobar:
    foobar-10

5) g<Ctrl-A> on letter
Test:
a
a
a
a
    Expected:
    1) g Ctrl-A on visually selected lines
    b
    c
    d
    e

6) g<Ctrl-A> on letter
Test:
z
z
z
z
    Expected:
    1) g Ctrl-X on visually selected lines
    y
    x
    w
    v

7) <Ctrl-A> on letter
Test:
2
1
0
-1
-2

    Expected:
    1) Ctrl-A on visually selected lines
    3
    2
    1
    0
    -1

    2) Ctrl-X on visually selected lines
    1
    0
    -1
    -2
    -3
8) Block increment on 0x9
Text:
0x9
0x9
    Expected:
    1) Ctrl-A on visually block selected region (cursor at beginning):
    0xa
    0xa
    2) Ctrl-A on visually block selected region (cursor at end)
    0xa
    0xa

9) Increment and redo
Text:
2
2

3
3

    Expected:
    1) 2 Ctrl-A on first 2 visually selected lines
    4
    4
    2) redo (.) on 3
    5
    5
10) sequentially decrement 1
Text:
1
1
1
1
    Expected:
    1) g Ctrl-X on visually selected lines
    0
    -1
    -2
    -3

11) visually block selected indented lines
Text:
    1
1
    1
    1
    Expexted:
    1) g Ctrl-A on block selected indented lines
    2
1
    3
    4

12) visually selected several columns
Text:
0 0
0 0
0 0
    Expected:
    1) 'v' select last zero and first zeroes
    0 1
    1 0
    1 0

13) visually selected part of columns
Text:
max: 100px
max: 200px
max: 300px
max: 400px
    Expected:
    1) 'v' on first two numbers Ctrl-A
    max: 110px
    max: 220px
    max: 330px
    max: 400px
    2) 'v' on first two numbers Ctrl-X
    max: 90px
    max: 190px
    max: 290px
    max: 400px

14) redo in block mode
Text:
1 1
1 1
    Expected:
    1) Ctrl-a on first column, redo on second column
    2 2
    2 2

15) block select single numbers
Text:
101
    Expected:
    1) Ctrl-a on visually selected zero
    111

16) increment right aligned numbers
Text:
   1
  19
 119
    Expected:
    1) Ctrl-a on line selected region
       2
      20
     120

17) block-wise increment and redo
Text:
  100
  1

  100
  1

  Expected:
  1) Ctrl-V j $ on first block, afterwards '.' on second
  101
  2

  101
  2

18) repeat of g<Ctrl-a>
Text:
  0
  0
  0
  0

  Expected:
  1) V 4j g<ctrl-a>, repeat twice afterwards with .
  3
  6
  9
  12
  
19) increment on number with nrformat including alpha
Text:
 1
 1a

 Expected:
 1) <Ctrl-V>j$ <ctrl-a>
 2
 2a

20) increment a single letter
Text:
 a

 Expected:
 1) <Ctrl-a> and cursor is on a
 b

21) block-wise increment on part of hexadecimal
Text:
0x123456

  Expected:
  1) Ctrl-V f3 <ctrl-a>
0x124456



STARTTEST
:so small.vim
:"
:" Avoid CTRL-X being mapped in Visual mode for MS-Windows
:vmapclear
:"
:" Test 1
:/^S1=/+,/^E1=/-y a
:/^E1=/+put a
:/^E1=/+2put a
f-v$:/^E1=/+3put a
f1v$:/^E1=/+4put a
f-v$:/^E1=/+5put a
f1v$

:" Test 2
:/^S2=/+,/^E2=/-y a
:/^E2=/+put a
V3k$3j:.+put a
V3k$

:" Test 3
:/^S3=/+,/^E3=/-y a
:/^E3=/+put a
V6k2g6j:.+put a
V6k2g

:" Test 4
:/^S4=/+,/^E4=/-y a
:/^E4=/+put a
vf-

:" Test 5
:set nrformats+=alpha
:/^S5=/+,/^E5=/-y a
:/^E5=/+put a
v3kg

:" Test 6
:/^S6=/+,/^E6=/-y a
:/^E6=/+put a
v3kg

:" Test 7
:set nrformats&vim
:/^S7=/+,/^E7=/-y a
:/^E7=/+put a
V4k4j:.+put a
V4k

:" Test 8
:/^S8=/+,/^E8=/-y a
:/^E8=/+put a
kj$j:.+put a
k$+

:" Test 9
:/^S9=/+,/^E9=/-y a
:/^E9=/+put a
5kVj23j.

:" Test 10
:/^S10=/+,/^E10=/-y a
:/^E10=/+put a
V3kg

: Test 11
:/^S11=/+,/^E11=/-y a
:/^E11=/+put a
3kf13jg

:" Test 12
:/^S12=/+,/^E12=/-y a
:/^E12=/+put a
2k$v++

:" Test 13
:/^S13=/+,/^E13=/-y a
:/^E13=/+put a
3kf1l2j3j:.+put a
3kf1l2j

:" Test 14
:/^S14=/+,/^E14=/-y a
:/^E14=/+put a
kw.

:" Test 15
:/^S15=/+,/^E15=/-y a
:/^E15=/+put a
lv

:" Test 16
:/^S16=/+,/^E16=/-y a
:/^E16=/+put a
V3k

:" Test 17
:/^S17=/+,/^E17=/-y a
:/^E17=/+put a
4kj$2j.

:" Test 18
:/^S18=/+,/^E18=/-y a
:/^E18=/+put a
V3kg..

:" Test 19
:set nrformats+=alpha
:/^S19=/+,/^E19=/-y a
:/^E19=/+put a
k$
:set nrformats&vim

:" Test 20
:set nrformats+=alpha
:/^S20=/+,/^E20=/-y a
:/^E20=/+put a
:.put =col('.')
:set nrformats&vim

:" Test 21
:/^S21=/+,/^E21=/-y a
:/^E21=/+put a
:set nrformats&vim
f3

:" Save the report
:/^# Test 1/,$w! test.out
:qa!


# Test 1
S1======
foobar-10
E1======



# Test 2
S2=====
10
20
30
40
E2=====



# Test 3
S3=====
10

20

30

40
E3=====



# Test 4
S4=====
foobar-10
E4=====



# Test 5
S5====
a
a
a
a
E5====


# Test 6
S6====
z
z
z
z
E6====



# Test 7
S7====
2
1
0
-1
-2
E7====



# Test 8
S8====
0x9
0x9
E8====




# Test 9
S9====
2
2

3
3

E9====




# Test 10
S10====
1
1
1
1
E10====




# Test 11
S11====
    1
1
    1
    1
E11====



# Test 12
S12====
0 0
0 0
0 0
E12====



# Test 13
S13====
max: 100px
max: 200px
max: 300px
max: 400px
E13====



# Test 14
S14====
1 1
1 1
E14====



# Test 15
S15====
101
E15====



# Test 16
S16====
   1
  19
 119
E16====



# Test 17
S17====
 100
 1

 100
 1
E17====


# Test 18
S18====
0
0
0
0
E18====



# Test 19
S19====
1
1a
E19====



# Test 20
S20====
a
E20====



# Test 21
S21====
0x123456
E21====




ENDTEST

