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.

Raspunde prin e-mail lui