From 80641f6e8b98d0ddeb7d7996ae6c02adaa1e306a Mon Sep 17 00:00:00 2001 From: Matthias Bilger Date: Wed, 13 Jun 2018 05:10:27 +0200 Subject: [PATCH] added test for plugconfig --- test/run | 4 ++++ test/test.vader | 1 + test/workflow.vader | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/test/run b/test/run index 6e19ed8..92efc3b 100755 --- a/test/run +++ b/test/run @@ -86,6 +86,10 @@ DOC make_dirs z1/ z1 make_dirs z2/ z2 + + mkdir -p "$TEMP/configs" + echo "let g:plug_config_vader_test = 1" > "$TEMP/configs/yyy.vim" + rm -rf "$PLUG_FIXTURES/ftplugin-msg" mkdir -p "$PLUG_FIXTURES/ftplugin-msg/ftplugin" echo "echomsg 'ftplugin-c'" > "$PLUG_FIXTURES/ftplugin-msg/ftplugin/c.vim" diff --git a/test/test.vader b/test/test.vader index fc84668..8a11b4c 100644 --- a/test/test.vader +++ b/test/test.vader @@ -16,6 +16,7 @@ Execute (Initialize test environment): call system('cp "$PLUG_SRC" "$PLUG_TMP"') let patch = \ ['function! ResetPlug()', 'let s:loaded = {}', 'endfunction', + \ 'function! ResetPlugConfig()', 'unlet s:config_dirs', 'endfunction', \ 'function! CompareURI(a, b)', 'return s:compare_git_uri(a:a, a:b)', 'endfunction'] if $ENV != 'vim8' diff --git a/test/workflow.vader b/test/workflow.vader index b0a43a1..269a884 100644 --- a/test/workflow.vader +++ b/test/workflow.vader @@ -1631,3 +1631,46 @@ Execute (#532 - Reuse plug window): AssertEqual 2, winnr(), 'Current window is #2 after PlugStatus (but is '.winnr().')' AssertEqual 2, winnr('$'), 'Three windows after PlugStatus (but got '.winnr('$').')' q + +Execute (PlugConfig shall create a new file 1/2): + call ResetPlug() + call ResetPlugConfig() + let g:plug_config_dir = $TEMP . '/configs' + let $PLUG_CONFIG_DIR = g:plug_config_dir + let g:plug_config_dirs = [g:plug_config_dir] + call plug#begin() + Plug '$PLUG_FIXTURES/xxx', { 'for': 'xxx' } + call plug#end() + AssertEqual 1, plug#load('xxx'), 'Loading Plugin Failed' + redir => out + PlugConfig xxx + AssertEqual 1, bufexists(g:plug_config_dir . '/xxx.vim'), 'Buffer not created ' . g:plug_config_dir . '/xxx.vim' + redir END + +Execute (PlugConfig shall load config if lazy): + AssertEqual 1, filereadable(g:plug_config_dir . '/yyy.vim') + call ResetPlugConfig() + let g:plug_config_dirs = [g:plug_config_dir] + call ResetPlug() + call plug#begin() + Plug '$PLUG_FIXTURES/yyy', { 'for': 'yyy' } + call plug#end() + redir => out + AssertEqual 0, exists('g:plug_config_vader_test'), 'Variable is set unexpected' + AssertEqual 1, plug#load('yyy'), 'Loading failed' + AssertEqual 1, exists('g:plug_config_vader_test'), 'Variable has not been set by config' + unlet g:plug_config_vader_test + redir END + +Execute (PlugConfig shall load config automatically): + AssertEqual 1, filereadable(g:plug_config_dir . '/yyy.vim') + call ResetPlugConfig() + let g:plug_config_dirs = [g:plug_config_dir] + call ResetPlug() + AssertEqual 0, exists('g:plug_config_vader_test'), 'Variable is set unexpected' + call plug#begin() + Plug '$PLUG_FIXTURES/yyy' + call plug#end() + redir => out + AssertEqual 1, exists('g:plug_config_vader_test'), 'Variable has not been set by config' + redir END