changeset 28377:3c34cbb8882d v8.2.4714

patch 8.2.4714: using g:filetype_dat and g:filetype_src not tested Commit: https://github.com/vim/vim/commit/a8034a4886843fbf10bd59a6f55ec723da515b8e Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 8 17:26:26 2022 +0100 patch 8.2.4714: using g:filetype_dat and g:filetype_src not tested Problem: Using g:filetype_dat and g:filetype_src not tested. Solution: Add a test. (Patrick Meiser-Knosowski, closes https://github.com/vim/vim/issues/10117)
author Bram Moolenaar <Bram@vim.org>
date Fri, 08 Apr 2022 18:30:03 +0200
parents a85946ba5cd4
children b8d39e361293
files src/testdir/test_filetype.vim src/version.c
diffstat 2 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -873,22 +873,32 @@ endfunc
 func Test_dat_file()
   filetype on
 
+  " KRL header start with "&WORD", but is not always present.
   call writefile(['&ACCESS'], 'datfile.dat')
   split datfile.dat
   call assert_equal('krl', &filetype)
   bwipe!
   call delete('datfile.dat')
 
+  " KRL defdat with leading spaces, for KRL file extension is not case
+  " sensitive.
   call writefile(['  DEFDAT datfile'], 'datfile.Dat')
   split datfile.Dat
   call assert_equal('krl', &filetype)
   bwipe!
   call delete('datfile.Dat')
 
-  call writefile(['', 'defdat  datfile'], 'datfile.DAT')
+  " KRL defdat with embedded spaces, file starts with empty line(s).
+  call writefile(['', 'defdat  datfile  public'], 'datfile.DAT')
   split datfile.DAT
   call assert_equal('krl', &filetype)
   bwipe!
+
+  " User may overrule file inspection
+  let g:filetype_dat = 'dat'
+  split datfile.DAT
+  call assert_equal('dat', &filetype)
+  bwipe!
   call delete('datfile.DAT')
 
   filetype off
@@ -1339,22 +1349,31 @@ endfunc
 func Test_src_file()
   filetype on
 
+  " KRL header start with "&WORD", but is not always present.
   call writefile(['&ACCESS'], 'srcfile.src')
   split srcfile.src
   call assert_equal('krl', &filetype)
   bwipe!
   call delete('srcfile.src')
 
+  " KRL def with leading spaces, for KRL file extension is not case sensitive.
   call writefile(['  DEF srcfile()'], 'srcfile.Src')
   split srcfile.Src
   call assert_equal('krl', &filetype)
   bwipe!
   call delete('srcfile.Src')
 
+  " KRL global def with embedded spaces, file starts with empty line(s).
   call writefile(['', 'global  def  srcfile()'], 'srcfile.SRC')
   split srcfile.SRC
   call assert_equal('krl', &filetype)
   bwipe!
+
+  " User may overrule file inspection
+  let g:filetype_src = 'src'
+  split srcfile.SRC
+  call assert_equal('src', &filetype)
+  bwipe!
   call delete('srcfile.SRC')
 
   filetype off
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4714,
+/**/
     4713,
 /**/
     4712,