1515545e1SBram Moolenaar" Test for modeless selection 2515545e1SBram Moolenaar 3515545e1SBram Moolenaar" This only works for Unix in a terminal 4515545e1SBram Moolenaarsource check.vim 5515545e1SBram MoolenaarCheckNotGui 6515545e1SBram MoolenaarCheckUnix 7515545e1SBram Moolenaar 8515545e1SBram Moolenaarsource mouse.vim 9515545e1SBram Moolenaar 10515545e1SBram Moolenaar" Test for modeless characterwise selection (single click) 11515545e1SBram Moolenaarfunc Test_modeless_characterwise_selection() 12515545e1SBram Moolenaar CheckFeature clipboard_working 13515545e1SBram Moolenaar let save_mouse = &mouse 14515545e1SBram Moolenaar let save_term = &term 15515545e1SBram Moolenaar let save_ttymouse = &ttymouse 16515545e1SBram Moolenaar call test_override('no_query_mouse', 1) 17515545e1SBram Moolenaar set mouse=a term=xterm mousetime=200 18515545e1SBram Moolenaar new 19515545e1SBram Moolenaar call setline(1, ['one two three', 'foo bar baz']) 20515545e1SBram Moolenaar redraw! 21515545e1SBram Moolenaar 22515545e1SBram Moolenaar for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec 23515545e1SBram Moolenaar let msg = 'ttymouse=' .. ttymouse_val 24515545e1SBram Moolenaar exe 'set ttymouse=' .. ttymouse_val 25515545e1SBram Moolenaar 26515545e1SBram Moolenaar " select multiple characters within a line 27*91689ea8SBram Moolenaar let @* = 'clean' 28515545e1SBram Moolenaar call MouseRightClick(1, 1) 29515545e1SBram Moolenaar call MouseRightRelease(1, 1) 30515545e1SBram Moolenaar let keys = ":" 31515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 32515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 10) 33515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 10) 34515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 35515545e1SBram Moolenaar call feedkeys(keys, "x") 36515545e1SBram Moolenaar call assert_equal("wo th", @*, msg) 37515545e1SBram Moolenaar 38515545e1SBram Moolenaar " select multiple characters including the end of line 39*91689ea8SBram Moolenaar let @* = 'clean' 40515545e1SBram Moolenaar call MouseRightClick(1, 1) 41515545e1SBram Moolenaar call MouseRightRelease(1, 1) 42515545e1SBram Moolenaar let keys = ":" 43515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 11) 44515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 16) 45515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 16) 46515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 47515545e1SBram Moolenaar call feedkeys(keys, "x") 48515545e1SBram Moolenaar call assert_equal("ree\n", @*, msg) 49515545e1SBram Moolenaar 50515545e1SBram Moolenaar " extend a selection using right mouse click 51*91689ea8SBram Moolenaar let @* = 'clean' 52515545e1SBram Moolenaar call MouseRightClick(1, 1) 53515545e1SBram Moolenaar call MouseRightRelease(1, 1) 54515545e1SBram Moolenaar set mousemodel=extend 55515545e1SBram Moolenaar let keys = ":" 56515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 2) 57515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 5) 58515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 5) 59515545e1SBram Moolenaar let keys ..= MouseRightClickCode(1, 10) 60515545e1SBram Moolenaar let keys ..= MouseRightReleaseCode(1, 10) 61515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 62515545e1SBram Moolenaar call feedkeys(keys, "x") 63515545e1SBram Moolenaar call assert_equal("ne two th", @*, msg) 64515545e1SBram Moolenaar set mousemodel& 65515545e1SBram Moolenaar 66515545e1SBram Moolenaar " extend a selection backwards using right mouse click 67*91689ea8SBram Moolenaar let @* = 'clean' 68515545e1SBram Moolenaar call MouseRightClick(1, 1) 69515545e1SBram Moolenaar call MouseRightRelease(1, 1) 70515545e1SBram Moolenaar set mousemodel=extend 71515545e1SBram Moolenaar let keys = ":" 72515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 7) 73515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 11) 74515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 11) 75515545e1SBram Moolenaar let keys ..= MouseRightClickCode(1, 3) 76515545e1SBram Moolenaar let keys ..= MouseRightReleaseCode(1, 3) 77515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 78515545e1SBram Moolenaar call feedkeys(keys, "x") 79515545e1SBram Moolenaar call assert_equal("e two thr", @*, msg) 80515545e1SBram Moolenaar set mousemodel& 81515545e1SBram Moolenaar 82515545e1SBram Moolenaar " select multiple characters within a line backwards 83*91689ea8SBram Moolenaar let @* = 'clean' 84515545e1SBram Moolenaar call MouseRightClick(1, 1) 85515545e1SBram Moolenaar call MouseRightRelease(1, 1) 86515545e1SBram Moolenaar let keys = ":" 87515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 9) 88515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 3) 89515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 3) 90515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 91515545e1SBram Moolenaar call feedkeys(keys, "x") 92515545e1SBram Moolenaar call assert_equal("e two t", @*, msg) 93515545e1SBram Moolenaar 94515545e1SBram Moolenaar " select multiple characters across lines with (end row > start row) and 95515545e1SBram Moolenaar " (end column < start column) 96*91689ea8SBram Moolenaar let @* = 'clean' 97515545e1SBram Moolenaar call MouseRightClick(1, 1) 98515545e1SBram Moolenaar call MouseRightRelease(1, 1) 99515545e1SBram Moolenaar let keys = ":" 100515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 9) 101515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 3) 102515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 3) 103515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 104515545e1SBram Moolenaar call feedkeys(keys, "x") 105515545e1SBram Moolenaar call assert_equal("three\nfoo", @*, msg) 106515545e1SBram Moolenaar 107515545e1SBram Moolenaar " select multiple characters across lines with (end row > start row) and 108515545e1SBram Moolenaar " (end column > start column) 109*91689ea8SBram Moolenaar let @* = 'clean' 110515545e1SBram Moolenaar call MouseRightClick(1, 1) 111515545e1SBram Moolenaar call MouseRightRelease(1, 1) 112515545e1SBram Moolenaar let keys = ":" 113515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 4) 114515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 8) 115515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 8) 116515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 117515545e1SBram Moolenaar call feedkeys(keys, "x") 118515545e1SBram Moolenaar call assert_equal(" two three\nfoo bar ", @*, msg) 119515545e1SBram Moolenaar 120515545e1SBram Moolenaar " select multiple characters across lines with (end row < start row) and 121515545e1SBram Moolenaar " (end column < start column) 122*91689ea8SBram Moolenaar let @* = 'clean' 123515545e1SBram Moolenaar call MouseRightClick(1, 1) 124515545e1SBram Moolenaar call MouseRightRelease(1, 1) 125515545e1SBram Moolenaar let keys = ":" 126515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 7) 127515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 5) 128515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 5) 129515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 130515545e1SBram Moolenaar call feedkeys(keys, "x") 131515545e1SBram Moolenaar call assert_equal("two three\nfoo bar", @*, msg) 132515545e1SBram Moolenaar 133515545e1SBram Moolenaar " select multiple characters across lines with (end row < start row) and 134515545e1SBram Moolenaar " (end column > start column) 135*91689ea8SBram Moolenaar let @* = 'clean' 136515545e1SBram Moolenaar call MouseRightClick(1, 1) 137515545e1SBram Moolenaar call MouseRightRelease(1, 1) 138515545e1SBram Moolenaar let keys = ":" 139515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 11) 140515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 13) 141515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 13) 142515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 143515545e1SBram Moolenaar call feedkeys(keys, "x") 144515545e1SBram Moolenaar call assert_equal("e\nfoo bar baz", @*, msg) 145515545e1SBram Moolenaar 146515545e1SBram Moolenaar " select multiple characters across lines with (end row < start row) and 147515545e1SBram Moolenaar " the end column is greater than the line length 148*91689ea8SBram Moolenaar let @* = 'clean' 149515545e1SBram Moolenaar call MouseRightClick(1, 1) 150515545e1SBram Moolenaar call MouseRightRelease(1, 1) 151515545e1SBram Moolenaar let keys = ":" 152515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 7) 153515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 16) 154515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 16) 155515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 156515545e1SBram Moolenaar call feedkeys(keys, "x") 157515545e1SBram Moolenaar call assert_equal("\nfoo bar", @*, msg) 158515545e1SBram Moolenaar 159515545e1SBram Moolenaar " select multiple characters across lines with start/end row and start/end 160515545e1SBram Moolenaar " column outside the lines in the buffer 161*91689ea8SBram Moolenaar let @* = 'clean' 162515545e1SBram Moolenaar call MouseRightClick(1, 1) 163515545e1SBram Moolenaar call MouseRightRelease(1, 1) 164515545e1SBram Moolenaar let keys = ":" 165515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(4, 3) 166515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(3, 2) 167515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(3, 2) 168515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 169515545e1SBram Moolenaar call feedkeys(keys, "x") 170515545e1SBram Moolenaar call assert_equal("\n~ ", @*, msg) 171515545e1SBram Moolenaar 172515545e1SBram Moolenaar " change selection using right mouse click within the selected text 173*91689ea8SBram Moolenaar let @* = 'clean' 174515545e1SBram Moolenaar call MouseRightClick(1, 1) 175515545e1SBram Moolenaar call MouseRightRelease(1, 1) 176515545e1SBram Moolenaar set mousemodel=extend 177515545e1SBram Moolenaar let keys = ":" 178515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 5) 179515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 13) 180515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 13) 181515545e1SBram Moolenaar let keys ..= MouseRightClickCode(1, 7) 182515545e1SBram Moolenaar let keys ..= MouseRightReleaseCode(1, 7) 183515545e1SBram Moolenaar let keys ..= MouseRightClickCode(1, 11) 184515545e1SBram Moolenaar let keys ..= MouseRightReleaseCode(1, 11) 185515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 186515545e1SBram Moolenaar call feedkeys(keys, "x") 187515545e1SBram Moolenaar call assert_equal("o thr", @*, msg) 188515545e1SBram Moolenaar set mousemodel& 189515545e1SBram Moolenaar 190515545e1SBram Moolenaar " select text multiple times at different places 191*91689ea8SBram Moolenaar let @* = 'clean' 192515545e1SBram Moolenaar call MouseRightClick(1, 1) 193515545e1SBram Moolenaar call MouseRightRelease(1, 1) 194515545e1SBram Moolenaar let keys = ":" 195515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 3) 196515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 5) 197515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 5) 198515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 7) 199515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 9) 200515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 9) 201515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 202515545e1SBram Moolenaar call feedkeys(keys, "x") 203515545e1SBram Moolenaar call assert_equal("r b", @*, msg) 204515545e1SBram Moolenaar 205515545e1SBram Moolenaar " Test for 'clipboard' set to 'autoselectml' to automatically copy the 206515545e1SBram Moolenaar " modeless selection to the clipboard 207515545e1SBram Moolenaar set clipboard=autoselectml 208*91689ea8SBram Moolenaar let @* = 'clean' 209515545e1SBram Moolenaar let keys = ":" 210515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 5) 211515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 7) 212515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 7) 213515545e1SBram Moolenaar let keys ..= "\<CR>" 214515545e1SBram Moolenaar call feedkeys(keys, "x") 215515545e1SBram Moolenaar call assert_equal("bar", @*) 216515545e1SBram Moolenaar set clipboard& 217515545e1SBram Moolenaar 218515545e1SBram Moolenaar " quadruple click should start characterwise selectmode 219*91689ea8SBram Moolenaar let @* = 'clean' 220515545e1SBram Moolenaar call MouseRightClick(1, 1) 221515545e1SBram Moolenaar call MouseRightRelease(1, 1) 222515545e1SBram Moolenaar let keys = ":" 223515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 10) 224515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 10) 225515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 10) 226515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 10) 227515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 10) 228515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 10) 229515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 10) 230515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 11) 231515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 11) 232515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 233515545e1SBram Moolenaar call feedkeys(keys, "x") 234515545e1SBram Moolenaar call assert_equal("hree", @*, msg) 235515545e1SBram Moolenaar endfor 236515545e1SBram Moolenaar 237515545e1SBram Moolenaar let &mouse = save_mouse 238515545e1SBram Moolenaar let &term = save_term 239515545e1SBram Moolenaar let &ttymouse = save_ttymouse 240515545e1SBram Moolenaar set mousetime& 241515545e1SBram Moolenaar call test_override('no_query_mouse', 0) 242515545e1SBram Moolenaar close! 243515545e1SBram Moolenaarendfunc 244515545e1SBram Moolenaar 245515545e1SBram Moolenaar" Test for modeless word selection (double click) 246515545e1SBram Moolenaarfunc Test_modeless_word_selection() 247515545e1SBram Moolenaar CheckFeature clipboard_working 248515545e1SBram Moolenaar let save_mouse = &mouse 249515545e1SBram Moolenaar let save_term = &term 250515545e1SBram Moolenaar let save_ttymouse = &ttymouse 251515545e1SBram Moolenaar call test_override('no_query_mouse', 1) 252515545e1SBram Moolenaar set mouse=a term=xterm mousetime=200 253515545e1SBram Moolenaar new 254515545e1SBram Moolenaar call setline(1, ['one two three', 'foo bar baz']) 255515545e1SBram Moolenaar redraw! 256515545e1SBram Moolenaar 257515545e1SBram Moolenaar for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec 258515545e1SBram Moolenaar let msg = 'ttymouse=' .. ttymouse_val 259515545e1SBram Moolenaar exe 'set ttymouse=' .. ttymouse_val 260515545e1SBram Moolenaar 261515545e1SBram Moolenaar " select multiple words within a line 262*91689ea8SBram Moolenaar let @* = 'clean' 263515545e1SBram Moolenaar call MouseRightClick(1, 1) 264515545e1SBram Moolenaar call MouseRightRelease(1, 1) 265515545e1SBram Moolenaar let keys = ":" 266515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 267515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 6) 268515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 269515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 10) 270515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 10) 271515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 272515545e1SBram Moolenaar call feedkeys(keys, "x") 273515545e1SBram Moolenaar call assert_equal("two three", @*, msg) 274515545e1SBram Moolenaar 275515545e1SBram Moolenaar " select a single word 276*91689ea8SBram Moolenaar let @* = 'clean' 277515545e1SBram Moolenaar call MouseRightClick(1, 1) 278515545e1SBram Moolenaar call MouseRightRelease(1, 1) 279515545e1SBram Moolenaar let keys = ":" 280515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 6) 281515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 6) 282515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 6) 283515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 6) 284515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 285515545e1SBram Moolenaar call feedkeys(keys, "x") 286515545e1SBram Moolenaar call assert_equal("bar", @*, msg) 287515545e1SBram Moolenaar 288515545e1SBram Moolenaar " select multiple words backwards within a line 289*91689ea8SBram Moolenaar let @* = 'clean' 290515545e1SBram Moolenaar call MouseRightClick(1, 1) 291515545e1SBram Moolenaar call MouseRightRelease(1, 1) 292515545e1SBram Moolenaar let keys = ":" 293515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 11) 294515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 11) 295515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 11) 296515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 7) 297515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 7) 298515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 299515545e1SBram Moolenaar call feedkeys(keys, "x") 300515545e1SBram Moolenaar call assert_equal("bar baz", @*, msg) 301515545e1SBram Moolenaar 302515545e1SBram Moolenaar " select multiple words backwards across lines 303*91689ea8SBram Moolenaar let @* = 'clean' 304515545e1SBram Moolenaar call MouseRightClick(1, 1) 305515545e1SBram Moolenaar call MouseRightRelease(1, 1) 306515545e1SBram Moolenaar let keys = ":" 307515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 7) 308515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 7) 309515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 7) 310515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 6) 311515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 6) 312515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 313515545e1SBram Moolenaar call feedkeys(keys, "x") 314515545e1SBram Moolenaar call assert_equal("two three\nfoo bar", @*, msg) 315515545e1SBram Moolenaar endfor 316515545e1SBram Moolenaar 317515545e1SBram Moolenaar let &mouse = save_mouse 318515545e1SBram Moolenaar let &term = save_term 319515545e1SBram Moolenaar let &ttymouse = save_ttymouse 320515545e1SBram Moolenaar set mousetime& 321515545e1SBram Moolenaar call test_override('no_query_mouse', 0) 322515545e1SBram Moolenaar close! 323515545e1SBram Moolenaarendfunc 324515545e1SBram Moolenaar 325515545e1SBram Moolenaar" Test for modeless line selection (triple click) 326515545e1SBram Moolenaarfunc Test_modeless_line_selection() 327515545e1SBram Moolenaar CheckFeature clipboard_working 328515545e1SBram Moolenaar let save_mouse = &mouse 329515545e1SBram Moolenaar let save_term = &term 330515545e1SBram Moolenaar let save_ttymouse = &ttymouse 331515545e1SBram Moolenaar call test_override('no_query_mouse', 1) 332515545e1SBram Moolenaar set mouse=a term=xterm mousetime=200 333515545e1SBram Moolenaar new 334515545e1SBram Moolenaar call setline(1, ['one two three', 'foo bar baz']) 335515545e1SBram Moolenaar redraw! 336515545e1SBram Moolenaar 337515545e1SBram Moolenaar for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec 338515545e1SBram Moolenaar let msg = 'ttymouse=' .. ttymouse_val 339515545e1SBram Moolenaar exe 'set ttymouse=' .. ttymouse_val 340515545e1SBram Moolenaar 341515545e1SBram Moolenaar " select single line 342*91689ea8SBram Moolenaar let @* = 'clean' 343515545e1SBram Moolenaar call MouseRightClick(1, 1) 344515545e1SBram Moolenaar call MouseRightRelease(1, 1) 345515545e1SBram Moolenaar let keys = ":" 346515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 6) 347515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 6) 348515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 6) 349515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 6) 350515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 6) 351515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 6) 352515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 353515545e1SBram Moolenaar call feedkeys(keys, "x") 354515545e1SBram Moolenaar call assert_equal("foo bar baz\n", @*, msg) 355515545e1SBram Moolenaar 356515545e1SBram Moolenaar " select multiple lines 357*91689ea8SBram Moolenaar let @* = 'clean' 358515545e1SBram Moolenaar call MouseRightClick(1, 1) 359515545e1SBram Moolenaar call MouseRightRelease(1, 1) 360515545e1SBram Moolenaar let keys = ":" 361515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 362515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 6) 363515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 364515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 6) 365515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(1, 6) 366515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(2, 12) 367515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 12) 368515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 369515545e1SBram Moolenaar call feedkeys(keys, "x") 370515545e1SBram Moolenaar call assert_equal("one two three\nfoo bar baz\n", @*, msg) 371515545e1SBram Moolenaar 372515545e1SBram Moolenaar " select multiple lines backwards 373*91689ea8SBram Moolenaar let @* = 'clean' 374515545e1SBram Moolenaar call MouseRightClick(1, 1) 375515545e1SBram Moolenaar call MouseRightRelease(1, 1) 376515545e1SBram Moolenaar let keys = ":" 377515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 10) 378515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 10) 379515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 10) 380515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(2, 10) 381515545e1SBram Moolenaar let keys ..= MouseLeftClickCode(2, 10) 382515545e1SBram Moolenaar let keys ..= MouseLeftDragCode(1, 3) 383515545e1SBram Moolenaar let keys ..= MouseLeftReleaseCode(1, 3) 384515545e1SBram Moolenaar let keys ..= "\<C-Y>\<CR>" 385515545e1SBram Moolenaar call feedkeys(keys, "x") 386515545e1SBram Moolenaar call assert_equal("one two three\nfoo bar baz\n", @*, msg) 387515545e1SBram Moolenaar endfor 388515545e1SBram Moolenaar 389515545e1SBram Moolenaar let &mouse = save_mouse 390515545e1SBram Moolenaar let &term = save_term 391515545e1SBram Moolenaar let &ttymouse = save_ttymouse 392515545e1SBram Moolenaar set mousetime& 393515545e1SBram Moolenaar call test_override('no_query_mouse', 0) 394515545e1SBram Moolenaar close! 395515545e1SBram Moolenaarendfunc 396515545e1SBram Moolenaar 397515545e1SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 398