Patch 7.4.1588
Problem: Old style test for quickfix.
Solution: Turn test 96 into a new style test.
Files: src/testdir/Make_all.mak, src/testdir/test96.in,
src/testdir/test96.ok, src/testdir/test_quickfix.vim
*** ../vim-7.4.1587/src/testdir/Make_all.mak 2016-03-15 17:10:12.302713149
+0100
--- src/testdir/Make_all.mak 2016-03-17 22:02:27.196266161 +0100
***************
*** 79,85 ****
test93.out \
test94.out \
test95.out \
- test96.out \
test98.out \
test99.out \
test101.out \
--- 79,84 ----
*** ../vim-7.4.1587/src/testdir/test96.in 2013-07-03 21:16:20.000000000
+0200
--- src/testdir/test96.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,142 ****
- This will test for problems in quickfix:
- A. incorrectly copying location lists which caused the location list to show a
- different name than the file that was actually being displayed.
- B. not reusing the window for which the location list window is opened but
- instead creating new windows.
- C. make sure that the location list window is not reused instead of the window
- it belongs to.
-
- Note: to debug a problem comment out the last ":b 1" in a test and testing
will
- stop at this point.
-
- STARTTEST
- :so small.vim
- : enew
- : w! test.out
- : b 1
- : " Set up the test environment:
- : function! ReadTestProtocol(name)
- : let base = substitute(a:name, '\v^test://(.*)%(\.[^.]+)?', '\1', '')
- : let word = substitute(base, '\v(.*)\..*', '\1', '')
- :
- : setl modifiable
- : setl noreadonly
- : setl noswapfile
- : setl bufhidden=delete
- : %del _
- : " For problem 2:
- : " 'buftype' has to be set to reproduce the constant opening of new windows
- : setl buftype=nofile
- :
- : call setline(1, word)
- :
- : setl nomodified
- : setl nomodifiable
- : setl readonly
- : exe 'doautocmd BufRead ' . substitute(a:name, '\v^test://(.*)', '\1', '')
- : endfunction
- : augroup testgroup
- : au!
- : autocmd BufReadCmd test://* call ReadTestProtocol(expand("<amatch>"))
- : augroup END
- : let words = [ "foo", "bar", "baz", "quux", "shmoo", "spam", "eggs" ]
- :
- : let qflist = []
- : for word in words
- : call add(qflist, {'filename': 'test://' . word . '.txt', 'text': 'file '
. word . '.txt', })
- : " NOTE: problem 1:
- : " intentionally not setting 'lnum' so that the quickfix entries are not
- : " valid
- : call setloclist(0, qflist, ' ')
- : endfor
- ENDTEST
-
- Test A:
- STARTTEST
- :lrewind
- :enew
- :lopen
- :lnext
- :lnext
- :lnext
- :lnext
- :vert split
- :wincmd L
- :lopen
- :wincmd p
- :lnext
- :"b 1
- :let fileName = expand("%")
- :wincmd p
- :let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*',
'\1', '')
- :wincmd n
- :wincmd K
- :b test.out
- :let fileName = substitute(fileName, '\\', '/', 'g')
- :let locationListFileName = substitute(locationListFileName, '\\', '/', 'g')
- :call append(line('$'), "Test A:")
- :call append(line('$'), " - file name displayed: " . fileName)
- :call append(line('$'), " - quickfix claims that the file name displayed is:
" . locationListFileName)
- :w
- :wincmd o
- :b 1
- ENDTEST
-
- Test B:
- STARTTEST
- :lrewind
- :lopen
- :2
- :exe "normal \<CR>"
- :wincmd p
- :3
- :exe "normal \<CR>"
- :wincmd p
- :4
- :exe "normal \<CR>"
- :let numberOfWindowsOpen = winnr('$')
- :wincmd n
- :wincmd K
- :b test.out
- :call append(line('$'), "Test B:")
- :call append(line('$'), " - number of window open: " . numberOfWindowsOpen)
- :w
- :wincmd o
- :b 1
- ENDTEST
-
- Test C:
- STARTTEST
- :lrewind
- :lopen
- :" Let's move the location list window to the top to check whether it (the
first
- :" window found) will be reused when we try to open new windows:
- :wincmd K
- :2
- :exe "normal \<CR>"
- :wincmd p
- :3
- :exe "normal \<CR>"
- :wincmd p
- :4
- :exe "normal \<CR>"
- :1wincmd w
- :let locationListWindowBufType = &buftype
- :2wincmd w
- :let bufferName = expand("%")
- :wincmd n
- :wincmd K
- :b test.out
- :let bufferName = substitute(bufferName, '\\', '/', 'g')
- :call append(line('$'), "Test C:")
- :call append(line('$'), " - 'buftype' of the location list window: " .
locationListWindowBufType)
- :call append(line('$'), " - buffer displayed in the 2nd window: " .
bufferName)
- :w
- :wincmd o
- :b 1
- ENDTEST
-
- STARTTEST
- :qa
- ENDTEST
-
--- 0 ----
*** ../vim-7.4.1587/src/testdir/test96.ok 2013-07-01 21:16:44.000000000
+0200
--- src/testdir/test96.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,9 ****
-
- Test A:
- - file name displayed: test://bar.txt
- - quickfix claims that the file name displayed is: test://bar.txt
- Test B:
- - number of window open: 2
- Test C:
- - 'buftype' of the location list window: quickfix
- - buffer displayed in the 2nd window: test://quux.txt
--- 0 ----
*** ../vim-7.4.1587/src/testdir/test_quickfix.vim 2016-03-15
14:10:54.478025751 +0100
--- src/testdir/test_quickfix.vim 2016-03-17 22:02:27.196266161 +0100
***************
*** 366,368 ****
--- 366,480 ----
call assert_equal("[['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]]", l)
let &efm = save_efm
endfunction
+
+ " This will test for problems in quickfix:
+ " A. incorrectly copying location lists which caused the location list to show
+ " a different name than the file that was actually being displayed.
+ " B. not reusing the window for which the location list window is opened but
+ " instead creating new windows.
+ " C. make sure that the location list window is not reused instead of the
+ " window it belongs to.
+ "
+ " Set up the test environment:
+ function! ReadTestProtocol(name)
+ let base = substitute(a:name, '\v^test://(.*)%(\.[^.]+)?', '\1', '')
+ let word = substitute(base, '\v(.*)\..*', '\1', '')
+
+ setl modifiable
+ setl noreadonly
+ setl noswapfile
+ setl bufhidden=delete
+ %del _
+ " For problem 2:
+ " 'buftype' has to be set to reproduce the constant opening of new windows
+ setl buftype=nofile
+
+ call setline(1, word)
+
+ setl nomodified
+ setl nomodifiable
+ setl readonly
+ exe 'doautocmd BufRead ' . substitute(a:name, '\v^test://(.*)', '\1', '')
+ endfunction
+
+ function Test_locationlist()
+ enew
+
+ augroup testgroup
+ au!
+ autocmd BufReadCmd test://* call ReadTestProtocol(expand("<amatch>"))
+ augroup END
+
+ let words = [ "foo", "bar", "baz", "quux", "shmoo", "spam", "eggs" ]
+
+ let qflist = []
+ for word in words
+ call add(qflist, {'filename': 'test://' . word . '.txt', 'text': 'file
' . word . '.txt', })
+ " NOTE: problem 1:
+ " intentionally not setting 'lnum' so that the quickfix entries are not
+ " valid
+ call setloclist(0, qflist, ' ')
+ endfor
+
+ " Test A
+ lrewind
+ enew
+ lopen
+ lnext
+ lnext
+ lnext
+ lnext
+ vert split
+ wincmd L
+ lopen
+ wincmd p
+ lnext
+ let fileName = expand("%")
+ wincmd p
+ let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*',
'\1', '')
+ let fileName = substitute(fileName, '\\', '/', 'g')
+ let locationListFileName = substitute(locationListFileName, '\\', '/',
'g')
+ call assert_equal("test://bar.txt", fileName)
+ call assert_equal("test://bar.txt", locationListFileName)
+
+ wincmd n | only
+
+ " Test B:
+ lrewind
+ lopen
+ 2
+ exe "normal \<CR>"
+ wincmd p
+ 3
+ exe "normal \<CR>"
+ wincmd p
+ 4
+ exe "normal \<CR>"
+ call assert_equal(2, winnr('$'))
+ wincmd n | only
+
+ " Test C:
+ lrewind
+ lopen
+ " Let's move the location list window to the top to check whether it (the
+ " first window found) will be reused when we try to open new windows:
+ wincmd K
+ 2
+ exe "normal \<CR>"
+ wincmd p
+ 3
+ exe "normal \<CR>"
+ wincmd p
+ 4
+ exe "normal \<CR>"
+ 1wincmd w
+ call assert_equal('quickfix', &buftype)
+ 2wincmd w
+ let bufferName = expand("%")
+ let bufferName = substitute(bufferName, '\\', '/', 'g')
+ call assert_equal('test://quux.txt', bufferName)
+
+ wincmd n | only
+
+ augroup! testgroup
+ endfunction
*** ../vim-7.4.1587/src/version.c 2016-03-17 21:50:57.263635136 +0100
--- src/version.c 2016-03-17 22:03:22.323677501 +0100
***************
*** 750,751 ****
--- 750,753 ----
{ /* Add new patch number below this line */
+ /**/
+ 1588,
/**/
--
hundred-and-one symptoms of being an internet addict:
70. ISDN lines are added to your house on a hourly basis
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.