diff src/testdir/test_filetype.vim @ 26628:7efd8f561d04 v8.2.3843

patch 8.2.3843: dep3patch files are not recognized Commit: https://github.com/vim/vim/commit/647ab4cede4dbf412d24748f8e0a64d1cb9239f4 Author: James McCoy <jamessan@jamessan.com> Date: Fri Dec 17 20:52:57 2021 +0000 patch 8.2.3843: dep3patch files are not recognized Problem: Dep3patch files are not recognized. Solution: Recognize dep3patch files by their location and content. (James McCoy, closes #9367)
author Bram Moolenaar <Bram@vim.org>
date Fri, 17 Dec 2021 22:00:05 +0100
parents b1f4052d6c51
children 4b8d0a62f78b
line wrap: on
line diff
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -1029,4 +1029,44 @@ func Test_fs_file()
   filetype off
 endfunc
 
+func Test_dep3patch_file()
+  filetype on
+
+  call assert_true(mkdir('debian/patches', 'p'))
+
+  " series files are not patches
+  call writefile(['Description: some awesome patch'], 'debian/patches/series')
+  split debian/patches/series
+  call assert_notequal('dep3patch', &filetype)
+  bwipe!
+
+  " diff/patch files without the right headers should still show up as ft=diff
+  call writefile([], 'debian/patches/foo.diff')
+  split debian/patches/foo.diff
+  call assert_equal('diff', &filetype)
+  bwipe!
+
+  " Files with the right headers are detected as dep3patch, even if they don't
+  " have a diff/patch extension
+  call writefile(['Subject: dep3patches'], 'debian/patches/bar')
+  split debian/patches/bar
+  call assert_equal('dep3patch', &filetype)
+  bwipe!
+
+  " Files in sub-directories are detected
+  call assert_true(mkdir('debian/patches/s390x', 'p'))
+  call writefile(['Subject: dep3patches'], 'debian/patches/s390x/bar')
+  split debian/patches/s390x/bar
+  call assert_equal('dep3patch', &filetype)
+  bwipe!
+
+  " The detection stops when seeing the "header end" marker
+  call writefile(['---', 'Origin: the cloud'], 'debian/patches/baz')
+  split debian/patches/baz
+  call assert_notequal('dep3patch', &filetype)
+  bwipe!
+
+  call delete('debian/patches', 'rf')
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab