diff src/testdir/test_filetype.vim @ 12255:d5710baf5cf7 v8.0.1007

patch 8.0.1007: no test for filetype detection for scripts commit https://github.com/vim/vim/commit/cbe6944956d7c39176e8b15faa77f1c29eaf5c97 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 27 16:54:26 2017 +0200 patch 8.0.1007: no test for filetype detection for scripts Problem: No test for filetype detection for scripts. Solution: Add a first test file script filetype detection.
author Christian Brabandt <cb@256bit.org>
date Sun, 27 Aug 2017 17:00:05 +0200
parents 7eb512f2a896
children a6a935b3270e
line wrap: on
line diff
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -527,4 +527,32 @@ func Test_filetype_detection()
   if has('fname_case')
     call CheckItems(s:filename_case_checks)
   endif
+  filetype off
 endfunc
+
+" Filetypes detected from the file contents by scripts.vim
+let s:script_checks = {
+      \ 'virata': [['% Virata'],
+      \		['', '% Virata'],
+      \		['', '', '% Virata'],
+      \		['', '', '', '% Virata'],
+      \		['', '', '', '', '% Virata']],
+      \ 'strace': [['execve("/usr/bin/pstree", ["pstree"], 0x7ff0 /* 63 vars */) = 0'],
+      \		['15:17:47 execve("/usr/bin/pstree", ["pstree"], ... "_=/usr/bin/strace"]) = 0'],
+      \		['__libc_start_main and something']],
+      \ }
+
+func Test_script_detection()
+  filetype on
+  for [ft, files] in items(s:script_checks)
+    for file in files
+      call writefile(file, 'Xtest')
+      split Xtest
+      call assert_equal(ft, &filetype)
+      bwipe!
+    endfor
+  endfor
+  call delete('Xtest')
+  filetype off
+endfunc
+