Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 1 | Tests for using Ctrl-A/Ctrl-X on visual selections |
| 2 | |
| 3 | Test cases |
| 4 | ========== |
| 5 | |
| 6 | 1) Ctrl-A on visually selected number |
| 7 | Text: |
| 8 | foobar-10 |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 9 | Expected: |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 10 | 1) Ctrl-A on start of line: |
| 11 | foobar-9 |
| 12 | 2) Ctrl-A on visually selected "-10": |
| 13 | foobar-9 |
| 14 | 3) Ctrl-A on visually selected "10": |
| 15 | foobar-11 |
| 16 | 4) Ctrl-X on visually selected "-10" |
| 17 | foobar-11 |
| 18 | 5) Ctrl-X on visually selected "10" |
| 19 | foobar-9 |
| 20 | |
| 21 | 2) Ctrl-A on visually selected lines |
| 22 | Text: |
| 23 | 10 |
| 24 | 20 |
| 25 | 30 |
| 26 | 40 |
| 27 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 28 | Expected: |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 29 | 1) Ctrl-A on visually selected lines: |
| 30 | 11 |
| 31 | 21 |
| 32 | 31 |
| 33 | 41 |
| 34 | |
| 35 | 2) Ctrl-X on visually selected lines: |
| 36 | 9 |
| 37 | 19 |
| 38 | 29 |
| 39 | 39 |
| 40 | |
| 41 | 3) g Ctrl-A on visually selected lines, with non-numbers in between |
| 42 | Text: |
| 43 | 10 |
| 44 | |
| 45 | 20 |
| 46 | |
| 47 | 30 |
| 48 | |
| 49 | 40 |
| 50 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 51 | Expected: |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 52 | 1) 2 g Ctrl-A on visually selected lines: |
| 53 | 12 |
| 54 | |
| 55 | 24 |
| 56 | |
| 57 | 36 |
| 58 | |
| 59 | 48 |
| 60 | 2) 2 g Ctrl-X on visually selected lines |
| 61 | 8 |
| 62 | |
| 63 | 16 |
| 64 | |
| 65 | 24 |
| 66 | |
| 67 | 32 |
| 68 | |
| 69 | 4) Ctrl-A on non-number |
| 70 | Text: |
| 71 | foobar-10 |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 72 | Expected: |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 73 | 1) visually select foobar: |
| 74 | foobar-10 |
| 75 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 76 | 5) g<Ctrl-A> on letter |
| 77 | Test: |
| 78 | a |
| 79 | a |
| 80 | a |
| 81 | a |
| 82 | Expected: |
| 83 | 1) g Ctrl-A on visually selected lines |
| 84 | b |
| 85 | c |
| 86 | d |
| 87 | e |
| 88 | |
| 89 | 6) g<Ctrl-A> on letter |
| 90 | Test: |
| 91 | z |
| 92 | z |
| 93 | z |
| 94 | z |
| 95 | Expected: |
| 96 | 1) g Ctrl-X on visually selected lines |
| 97 | y |
| 98 | x |
| 99 | w |
| 100 | v |
| 101 | |
| 102 | 7) <Ctrl-A> on letter |
| 103 | Test: |
| 104 | 2 |
| 105 | 1 |
| 106 | 0 |
| 107 | -1 |
| 108 | -2 |
| 109 | |
| 110 | Expected: |
| 111 | 1) Ctrl-A on visually selected lines |
| 112 | 3 |
| 113 | 2 |
| 114 | 1 |
| 115 | 0 |
| 116 | -1 |
| 117 | |
| 118 | 2) Ctrl-X on visually selected lines |
| 119 | 1 |
| 120 | 0 |
| 121 | -1 |
| 122 | -2 |
| 123 | -3 |
| 124 | 8) Block increment on 0x9 |
| 125 | Text: |
| 126 | 0x9 |
| 127 | 0x9 |
| 128 | Expected: |
| 129 | 1) Ctrl-A on visually block selected region (cursor at beginning): |
| 130 | 0xa |
| 131 | 0xa |
| 132 | 2) Ctrl-A on visually block selected region (cursor at end) |
| 133 | 0xa |
| 134 | 0xa |
| 135 | |
| 136 | 9) Increment and redo |
| 137 | Text: |
| 138 | 2 |
| 139 | 2 |
| 140 | |
| 141 | 3 |
| 142 | 3 |
| 143 | |
| 144 | Expected: |
| 145 | 1) 2 Ctrl-A on first 2 visually selected lines |
| 146 | 4 |
| 147 | 4 |
| 148 | 2) redo (.) on 3 |
| 149 | 5 |
| 150 | 5 |
| 151 | 10) sequentially decrement 1 |
| 152 | Text: |
| 153 | 1 |
| 154 | 1 |
| 155 | 1 |
| 156 | 1 |
| 157 | Expected: |
| 158 | 1) g Ctrl-X on visually selected lines |
| 159 | 0 |
| 160 | -1 |
| 161 | -2 |
| 162 | -3 |
| 163 | |
| 164 | 11) visually block selected indented lines |
| 165 | Text: |
| 166 | 1 |
| 167 | 1 |
| 168 | 1 |
| 169 | 1 |
| 170 | Expexted: |
| 171 | 1) g Ctrl-A on block selected indented lines |
| 172 | 2 |
| 173 | 1 |
| 174 | 3 |
| 175 | 4 |
| 176 | |
| 177 | 12) visually selected several columns |
| 178 | Text: |
| 179 | 0 0 |
| 180 | 0 0 |
| 181 | 0 0 |
| 182 | Expected: |
| 183 | 1) 'v' select last zero and first zeroes |
| 184 | 0 1 |
| 185 | 1 0 |
| 186 | 1 0 |
| 187 | |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 188 | 13) visually selected part of columns |
| 189 | Text: |
| 190 | max: 100px |
| 191 | max: 200px |
| 192 | max: 300px |
| 193 | max: 400px |
| 194 | Expected: |
| 195 | 1) 'v' on first two numbers Ctrl-A |
| 196 | max: 110px |
| 197 | max: 220px |
| 198 | max: 330px |
| 199 | max: 400px |
| 200 | 2) 'v' on first two numbers Ctrl-X |
| 201 | max: 90px |
| 202 | max: 190px |
| 203 | max: 290px |
| 204 | max: 400px |
| 205 | |
| 206 | 14) redo in block mode |
| 207 | Text: |
| 208 | 1 1 |
| 209 | 1 1 |
| 210 | Expected: |
| 211 | 1) Ctrl-a on first column, redo on second column |
| 212 | 2 2 |
| 213 | 2 2 |
| 214 | |
| 215 | 15) block select single numbers |
| 216 | Text: |
| 217 | 101 |
| 218 | Expected: |
| 219 | 1) Ctrl-a on visually selected zero |
| 220 | 111 |
| 221 | |
| 222 | 16) increment right aligned numbers |
| 223 | Text: |
| 224 | 1 |
| 225 | 19 |
| 226 | 119 |
| 227 | Expected: |
| 228 | 1) Ctrl-a on line selected region |
| 229 | 2 |
| 230 | 20 |
| 231 | 120 |
| 232 | |
| 233 | 17) block-wise increment and redo |
| 234 | Text: |
| 235 | 100 |
| 236 | 1 |
| 237 | |
| 238 | 100 |
| 239 | 1 |
| 240 | |
| 241 | Expected: |
| 242 | 1) Ctrl-V j $ on first block, afterwards '.' on second |
| 243 | 101 |
| 244 | 2 |
| 245 | |
| 246 | 101 |
| 247 | 2 |
| 248 | |
| 249 | 18) repeat of g<Ctrl-a> |
| 250 | Text: |
| 251 | 0 |
| 252 | 0 |
| 253 | 0 |
| 254 | 0 |
| 255 | |
| 256 | Expected: |
| 257 | 1) V 4j g<ctrl-a>, repeat twice afterwards with . |
| 258 | 3 |
| 259 | 6 |
| 260 | 9 |
| 261 | 12 |
| 262 | |
Bram Moolenaar | cc218ab | 2015-08-04 18:23:22 +0200 | [diff] [blame] | 263 | 19) increment on number with nrformat including alpha |
| 264 | Text: |
| 265 | 1 |
| 266 | 1a |
| 267 | |
| 268 | Expected: |
| 269 | 1) <Ctrl-V>j$ <ctrl-a> |
| 270 | 2 |
Bram Moolenaar | 25c2f67 | 2015-08-11 19:36:42 +0200 | [diff] [blame^] | 271 | 2a |
| 272 | |
| 273 | 20) increment a single letter |
| 274 | Text: |
| 275 | a |
| 276 | |
| 277 | Expected: |
| 278 | 1) <Ctrl-a> and cursor is on a |
| 279 | b |
Bram Moolenaar | cc218ab | 2015-08-04 18:23:22 +0200 | [diff] [blame] | 280 | |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 281 | |
| 282 | |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 283 | STARTTEST |
| 284 | :so small.vim |
Bram Moolenaar | 6a57cce | 2015-06-28 19:24:39 +0200 | [diff] [blame] | 285 | :" |
| 286 | :" Avoid CTRL-X being mapped in Visual mode for MS-Windows |
| 287 | :vmapclear |
| 288 | :" |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 289 | :" Test 1 |
| 290 | :/^S1=/+,/^E1=/-y a |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 291 | :/^E1=/+put a |
| 292 | :/^E1=/+2put a |
| 293 | f-v$:/^E1=/+3put a |
| 294 | f1v$:/^E1=/+4put a |
| 295 | f-v$:/^E1=/+5put a |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 296 | f1v$ |
| 297 | |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 298 | :" Test 2 |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 299 | :/^S2=/+,/^E2=/-y a |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 300 | :/^E2=/+put a |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 301 | V3k$3j:.+put a |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 302 | V3k$ |
| 303 | |
| 304 | :" Test 3 |
| 305 | :/^S3=/+,/^E3=/-y a |
| 306 | :/^E3=/+put a |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 307 | V6k2g6j:.+put a |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 308 | V6k2g |
| 309 | |
| 310 | :" Test 4 |
| 311 | :/^S4=/+,/^E4=/-y a |
| 312 | :/^E4=/+put a |
| 313 | vf- |
| 314 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 315 | :" Test 5 |
| 316 | :set nrformats+=alpha |
| 317 | :/^S5=/+,/^E5=/-y a |
| 318 | :/^E5=/+put a |
| 319 | v3kg |
| 320 | |
| 321 | :" Test 6 |
| 322 | :/^S6=/+,/^E6=/-y a |
| 323 | :/^E6=/+put a |
| 324 | v3kg |
| 325 | |
| 326 | :" Test 7 |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 327 | :set nrformats&vim |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 328 | :/^S7=/+,/^E7=/-y a |
| 329 | :/^E7=/+put a |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 330 | V4k4j:.+put a |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 331 | V4k |
| 332 | |
| 333 | :" Test 8 |
| 334 | :/^S8=/+,/^E8=/-y a |
| 335 | :/^E8=/+put a |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 336 | kj$j:.+put a |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 337 | k$+ |
| 338 | |
| 339 | :" Test 9 |
| 340 | :/^S9=/+,/^E9=/-y a |
| 341 | :/^E9=/+put a |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 342 | 5kVj23j. |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 343 | |
| 344 | :" Test 10 |
| 345 | :/^S10=/+,/^E10=/-y a |
| 346 | :/^E10=/+put a |
| 347 | V3kg |
| 348 | |
| 349 | : Test 11 |
| 350 | :/^S11=/+,/^E11=/-y a |
| 351 | :/^E11=/+put a |
| 352 | 3kf13jg |
| 353 | |
| 354 | :" Test 12 |
| 355 | :/^S12=/+,/^E12=/-y a |
| 356 | :/^E12=/+put a |
| 357 | 2k$v++ |
| 358 | |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 359 | :" Test 13 |
| 360 | :/^S13=/+,/^E13=/-y a |
| 361 | :/^E13=/+put a |
| 362 | 3kf1l2j3j:.+put a |
| 363 | 3kf1l2j |
| 364 | |
| 365 | :" Test 14 |
| 366 | :/^S14=/+,/^E14=/-y a |
| 367 | :/^E14=/+put a |
| 368 | kw. |
| 369 | |
| 370 | :" Test 15 |
| 371 | :/^S15=/+,/^E15=/-y a |
| 372 | :/^E15=/+put a |
| 373 | lv |
| 374 | |
| 375 | :" Test 16 |
| 376 | :/^S16=/+,/^E16=/-y a |
| 377 | :/^E16=/+put a |
| 378 | V3k |
| 379 | |
| 380 | :" Test 17 |
| 381 | :/^S17=/+,/^E17=/-y a |
| 382 | :/^E17=/+put a |
| 383 | 4kj$2j. |
| 384 | |
| 385 | :" Test 18 |
| 386 | :/^S18=/+,/^E18=/-y a |
| 387 | :/^E18=/+put a |
| 388 | V3kg.. |
| 389 | |
Bram Moolenaar | cc218ab | 2015-08-04 18:23:22 +0200 | [diff] [blame] | 390 | :" Test 19 |
| 391 | :set nrformats+=alpha |
| 392 | :/^S19=/+,/^E19=/-y a |
| 393 | :/^E19=/+put a |
| 394 | k$ |
| 395 | :set nrformats&vim |
| 396 | |
Bram Moolenaar | 25c2f67 | 2015-08-11 19:36:42 +0200 | [diff] [blame^] | 397 | :" Test 20 |
| 398 | :set nrformats+=alpha |
| 399 | :/^S20=/+,/^E20=/-y a |
| 400 | :/^E20=/+put a |
| 401 | :.put =col('.') |
| 402 | :set nrformats&vim |
| 403 | |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 404 | :" Save the report |
| 405 | :/^# Test 1/,$w! test.out |
| 406 | :qa! |
| 407 | |
| 408 | |
| 409 | # Test 1 |
| 410 | S1====== |
| 411 | foobar-10 |
| 412 | E1====== |
| 413 | |
| 414 | |
| 415 | |
| 416 | # Test 2 |
| 417 | S2===== |
| 418 | 10 |
| 419 | 20 |
| 420 | 30 |
| 421 | 40 |
| 422 | E2===== |
| 423 | |
| 424 | |
| 425 | |
| 426 | # Test 3 |
| 427 | S3===== |
| 428 | 10 |
| 429 | |
| 430 | 20 |
| 431 | |
| 432 | 30 |
| 433 | |
| 434 | 40 |
| 435 | E3===== |
| 436 | |
| 437 | |
| 438 | |
| 439 | # Test 4 |
| 440 | S4===== |
| 441 | foobar-10 |
| 442 | E4===== |
| 443 | |
| 444 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 445 | |
| 446 | # Test 5 |
| 447 | S5==== |
| 448 | a |
| 449 | a |
| 450 | a |
| 451 | a |
| 452 | E5==== |
| 453 | |
| 454 | |
| 455 | # Test 6 |
| 456 | S6==== |
| 457 | z |
| 458 | z |
| 459 | z |
| 460 | z |
| 461 | E6==== |
| 462 | |
| 463 | |
| 464 | |
| 465 | # Test 7 |
| 466 | S7==== |
| 467 | 2 |
| 468 | 1 |
| 469 | 0 |
| 470 | -1 |
| 471 | -2 |
| 472 | E7==== |
| 473 | |
| 474 | |
| 475 | |
| 476 | # Test 8 |
| 477 | S8==== |
| 478 | 0x9 |
| 479 | 0x9 |
| 480 | E8==== |
| 481 | |
| 482 | |
| 483 | |
| 484 | |
| 485 | # Test 9 |
| 486 | S9==== |
| 487 | 2 |
| 488 | 2 |
| 489 | |
| 490 | 3 |
| 491 | 3 |
| 492 | |
| 493 | E9==== |
| 494 | |
| 495 | |
| 496 | |
| 497 | |
| 498 | # Test 10 |
| 499 | S10==== |
| 500 | 1 |
| 501 | 1 |
| 502 | 1 |
| 503 | 1 |
| 504 | E10==== |
| 505 | |
| 506 | |
| 507 | |
| 508 | |
| 509 | # Test 11 |
| 510 | S11==== |
| 511 | 1 |
| 512 | 1 |
| 513 | 1 |
| 514 | 1 |
| 515 | E11==== |
| 516 | |
| 517 | |
| 518 | |
| 519 | # Test 12 |
| 520 | S12==== |
| 521 | 0 0 |
| 522 | 0 0 |
| 523 | 0 0 |
| 524 | E12==== |
| 525 | |
| 526 | |
| 527 | |
Bram Moolenaar | 5d1bc78 | 2015-07-17 13:03:48 +0200 | [diff] [blame] | 528 | # Test 13 |
| 529 | S13==== |
| 530 | max: 100px |
| 531 | max: 200px |
| 532 | max: 300px |
| 533 | max: 400px |
| 534 | E13==== |
| 535 | |
| 536 | |
| 537 | |
| 538 | # Test 14 |
| 539 | S14==== |
| 540 | 1 1 |
| 541 | 1 1 |
| 542 | E14==== |
| 543 | |
| 544 | |
| 545 | |
| 546 | # Test 15 |
| 547 | S15==== |
| 548 | 101 |
| 549 | E15==== |
| 550 | |
| 551 | |
| 552 | |
| 553 | # Test 16 |
| 554 | S16==== |
| 555 | 1 |
| 556 | 19 |
| 557 | 119 |
| 558 | E16==== |
| 559 | |
| 560 | |
| 561 | |
| 562 | # Test 17 |
| 563 | S17==== |
| 564 | 100 |
| 565 | 1 |
| 566 | |
| 567 | 100 |
| 568 | 1 |
| 569 | E17==== |
| 570 | |
| 571 | |
| 572 | # Test 18 |
| 573 | S18==== |
| 574 | 0 |
| 575 | 0 |
| 576 | 0 |
| 577 | 0 |
| 578 | E18==== |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 579 | |
| 580 | |
| 581 | |
Bram Moolenaar | cc218ab | 2015-08-04 18:23:22 +0200 | [diff] [blame] | 582 | # Test 19 |
| 583 | S19==== |
| 584 | 1 |
| 585 | 1a |
| 586 | E19==== |
| 587 | |
| 588 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 589 | |
Bram Moolenaar | 25c2f67 | 2015-08-11 19:36:42 +0200 | [diff] [blame^] | 590 | # Test 20 |
| 591 | S20==== |
| 592 | a |
| 593 | E20==== |
| 594 | |
| 595 | |
| 596 | |
Bram Moolenaar | 9bb1930 | 2015-07-03 12:44:07 +0200 | [diff] [blame] | 597 | |
Bram Moolenaar | 3a304b2 | 2015-06-25 13:57:36 +0200 | [diff] [blame] | 598 | ENDTEST |
| 599 | |