5 Commits

Author SHA1 Message Date
kazukazuinaina
79a3beecfe [add] test 2022-06-29 01:23:02 +09:00
kazukazuinaina
c528f796a8 fix 2022-06-29 00:51:41 +09:00
kazukazuinaina
1c6ad8bf8f update 2022-06-29 00:48:30 +09:00
kazukazuinaina
8ff94b2138 [delete] vader.vim 2022-06-29 00:41:19 +09:00
kazukazuinaina
09d9ef6bf7 [add] vim-themis's test 2022-06-29 00:39:18 +09:00
5 changed files with 57 additions and 56 deletions

View File

@@ -1,8 +1,12 @@
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
@@ -11,34 +15,29 @@ jobs:
strategy:
matrix:
vim:
- v8.2.2000
- v8.2.1000
- v8.2.0000
- v8.1.0000
- v8.0.0000
- v7.4
steps:
- name: Checkout code
uses: actions/checkout@main
uses: actions/checkout@v3
- name: Checkout vim-themis
uses: actions/checkout@v3
with:
repository: thinca/vim-themis
path: vim-themis
- name: Setup Vim
uses: rhysd/action-setup-vim@v1
id: vim
with:
version: ${{ matrix.vim }}
- name: Install Dependencies
run: |
git clone https://github.com/junegunn/vader.vim.git
git clone https://github.com/vim-airline/vim-airline
find $PWD/autoload/airline/themes -name "*.vim" > themes.txt
- name: Run Test
run: |
vim --not-a-term -Nu <(cat << VIMRC
filetype off
set rtp+=vader.vim
set rtp+=vim-airline
set rtp+=.
set rtp+=after
filetype plugin indent on
syntax enable
VIMRC) -c 'Vader! test/*' > /dev/null
- name: Test
env:
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
run: ./vim-themis/bin/themis --reporter spec

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
.DS_Store
doc/tags
test/.deps

4
test/.themisrc Normal file
View File

@@ -0,0 +1,4 @@
let s:deps = themis#helper('deps')
call s:deps.git('vim-airline/vim-airline')
call themis#helper('command')

View File

@@ -1,38 +0,0 @@
# Make sure that theme and 5 basic modes don't throw an error
# Get list of all included themes
Execute (validate themes):
let themes = readfile('themes.txt')
call sort(themes)
let err_proc = v:false
try
for themePath in themes
" Check all the basic modes and their modified counterparts
" This test only fails on exceptional cases
let theme = fnamemodify(themePath, ':t:r')
Log theme
execute('AirlineTheme ' . theme)
execute('source ' . themePath)
normal! i
normal! :
normal! R
normal! v
setlocal mod
normal! i
normal! :
normal! R
normal! v
setlocal nomod
endfor
catch
let err_proc = v:true
Log "Failed validation testing with exception:"
Log string(v:exception)
endtry
AirlineRefresh
Assert !err_proc

35
test/airline-themes.vim Normal file
View File

@@ -0,0 +1,35 @@
scriptencoding utf-8
let s:themes_dir = expand('<sfile>:h:h') . '/autoload/airline/themes'
let s:themes = map(glob(s:themes_dir . '/*.vim', 1, 1), 'fnamemodify(v:val, ":t:r")')
let s:suite = themis#suite('vim-airline-themes')
function! s:Test_AirlineTheme(theme)
Throws execute('AirlineTheme ' . a:theme)
endfunction
function! s:command_insert(theme)
execute('AirlineTheme ' . a:theme)
execute('source ' . expand('<sfile>:h:h') . '/autoload/airline/themes/' . a:theme . '.vim')
Throws normal! i
endfunction
function! s:command_command(theme)
execute('AirlineTheme ' . a:theme)
execute('source ' . expand('<sfile>:h:h') . '/autoload/airline/themes/' . a:theme . '.vim')
Throws normal! :
endfunction
function! s:suite.__insert__()
let child = themis#suite('INSERT')
for theme in s:themes
let child[theme] = funcref('s:command_insert', [theme])
endfor
endfunction
function! s:suite.__command__()
let child = themis#suite('COMMAND')
for theme in s:themes
let child[theme] = funcref('s:command_command', [theme])
endfor
endfunction