18822744bSBram Moolenaar" Test :retab 26d91bcb4SBram Moolenaar 38822744bSBram Moolenaarfunc SetUp() 48822744bSBram Moolenaar new 58822744bSBram Moolenaar call setline(1, "\ta \t b c ") 68822744bSBram Moolenaarendfunc 78822744bSBram Moolenaar 88822744bSBram Moolenaarfunc TearDown() 98822744bSBram Moolenaar bwipe! 108822744bSBram Moolenaarendfunc 118822744bSBram Moolenaar 128822744bSBram Moolenaarfunc Retab(bang, n) 138822744bSBram Moolenaar let l:old_tabstop = &tabstop 148822744bSBram Moolenaar let l:old_line = getline(1) 158822744bSBram Moolenaar exe "retab" . a:bang . a:n 168822744bSBram Moolenaar let l:line = getline(1) 178822744bSBram Moolenaar call setline(1, l:old_line) 188822744bSBram Moolenaar if a:n > 0 198822744bSBram Moolenaar " :retab changes 'tabstop' to n with argument n > 0. 208822744bSBram Moolenaar call assert_equal(a:n, &tabstop) 218822744bSBram Moolenaar exe 'set tabstop=' . l:old_tabstop 228822744bSBram Moolenaar else 238822744bSBram Moolenaar " :retab does not change 'tabstop' with empty or n <= 0. 248822744bSBram Moolenaar call assert_equal(l:old_tabstop, &tabstop) 258822744bSBram Moolenaar endif 268822744bSBram Moolenaar return l:line 278822744bSBram Moolenaarendfunc 288822744bSBram Moolenaar 298822744bSBram Moolenaarfunc Test_retab() 308822744bSBram Moolenaar set tabstop=8 noexpandtab 318822744bSBram Moolenaar call assert_equal("\ta\t b c ", Retab('', '')) 328822744bSBram Moolenaar call assert_equal("\ta\t b c ", Retab('', 0)) 338822744bSBram Moolenaar call assert_equal("\ta\t b c ", Retab('', 8)) 348822744bSBram Moolenaar call assert_equal("\ta\t b\t c\t ", Retab('!', '')) 358822744bSBram Moolenaar call assert_equal("\ta\t b\t c\t ", Retab('!', 0)) 368822744bSBram Moolenaar call assert_equal("\ta\t b\t c\t ", Retab('!', 8)) 378822744bSBram Moolenaar 388822744bSBram Moolenaar call assert_equal("\t\ta\t\t\tb c ", Retab('', 4)) 398822744bSBram Moolenaar call assert_equal("\t\ta\t\t\tb\t\t c\t ", Retab('!', 4)) 408822744bSBram Moolenaar 418822744bSBram Moolenaar call assert_equal(" a\t\tb c ", Retab('', 10)) 428822744bSBram Moolenaar call assert_equal(" a\t\tb c ", Retab('!', 10)) 438822744bSBram Moolenaar 448822744bSBram Moolenaar set tabstop=8 expandtab 458822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', '')) 468822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', 0)) 478822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', 8)) 488822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', '')) 498822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 0)) 508822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 8)) 518822744bSBram Moolenaar 528822744bSBram Moolenaar call assert_equal(" a b c ", Retab(' ', 4)) 538822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 4)) 548822744bSBram Moolenaar 558822744bSBram Moolenaar call assert_equal(" a b c ", Retab(' ', 10)) 568822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 10)) 578822744bSBram Moolenaar 588822744bSBram Moolenaar set tabstop=4 noexpandtab 598822744bSBram Moolenaar call assert_equal("\ta\t\tb c ", Retab('', '')) 608822744bSBram Moolenaar call assert_equal("\ta\t\tb\t\t c\t ", Retab('!', '')) 618822744bSBram Moolenaar call assert_equal("\t a\t\t\tb c ", Retab('', 3)) 628822744bSBram Moolenaar call assert_equal("\t a\t\t\tb\t\t\tc\t ", Retab('!', 3)) 638822744bSBram Moolenaar call assert_equal(" a\t b c ", Retab('', 5)) 648822744bSBram Moolenaar call assert_equal(" a\t b\t\t c\t ", Retab('!', 5)) 658822744bSBram Moolenaar 668822744bSBram Moolenaar set tabstop=4 expandtab 678822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', '')) 688822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', '')) 698822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', 3)) 708822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 3)) 718822744bSBram Moolenaar call assert_equal(" a b c ", Retab('', 5)) 728822744bSBram Moolenaar call assert_equal(" a b c ", Retab('!', 5)) 738822744bSBram Moolenaarendfunc 748822744bSBram Moolenaar 758822744bSBram Moolenaarfunc Test_retab_error() 768822744bSBram Moolenaar call assert_fails('retab -1', 'E487:') 778822744bSBram Moolenaar call assert_fails('retab! -1', 'E487:') 78*b7081e13SBram Moolenaar call assert_fails('ret -1000', 'E487:') 79*b7081e13SBram Moolenaar call assert_fails('ret 10000', 'E475:') 80*b7081e13SBram Moolenaar call assert_fails('ret 80000000000000000000', 'E475:') 818822744bSBram Moolenaarendfunc 826d91bcb4SBram Moolenaar 836d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 84