1*ad4d8a19SBram Moolenaar" Tests for searchpos() 2*ad4d8a19SBram Moolenaar 3*ad4d8a19SBram Moolenaarfunc Test_searchpos() 4*ad4d8a19SBram Moolenaar new one 5*ad4d8a19SBram Moolenaar 0put ='1a3' 6*ad4d8a19SBram Moolenaar 1put ='123xyz' 7*ad4d8a19SBram Moolenaar call cursor(1, 1) 8*ad4d8a19SBram Moolenaar call assert_equal([1, 1, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')) 9*ad4d8a19SBram Moolenaar call cursor(1, 2) 10*ad4d8a19SBram Moolenaar call assert_equal([2, 1, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')) 11*ad4d8a19SBram Moolenaar set cpo-=c 12*ad4d8a19SBram Moolenaar call cursor(1, 2) 13*ad4d8a19SBram Moolenaar call assert_equal([1, 2, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')) 14*ad4d8a19SBram Moolenaar call cursor(1, 3) 15*ad4d8a19SBram Moolenaar call assert_equal([1, 3, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')) 16*ad4d8a19SBram Moolenaar 17*ad4d8a19SBram Moolenaar " Now with \zs, first match is in column 0, "a" is matched. 18*ad4d8a19SBram Moolenaar call cursor(1. 3) 19*ad4d8a19SBram Moolenaar call assert_equal([2, 4, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcW')) 20*ad4d8a19SBram Moolenaar " With z flag start at cursor column, don't see the "a". 21*ad4d8a19SBram Moolenaar call cursor(1. 3) 22*ad4d8a19SBram Moolenaar call assert_equal([2, 4, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcWz')) 23*ad4d8a19SBram Moolenaar 24*ad4d8a19SBram Moolenaar set cpo+=c 25*ad4d8a19SBram Moolenaar " close the window 26*ad4d8a19SBram Moolenaar q! 27*ad4d8a19SBram Moolenaar 28*ad4d8a19SBram Moolenaarendfunc 29