From 6ebd8f355c974cb6b7c5d5aff20603c8c4b38feb Mon Sep 17 00:00:00 2001 From: Markus Doits Date: Sat, 2 Sep 2017 16:48:00 +0200 Subject: slimlint: Search for .rubocop.yml and use it This fixes slim-lint not honoring a `.rubocop.yml` in the file's or parent directory. Due to the way slim-lint calls rubocop, it requires the special `SLIM_LINT_RUBUCOP_CONF` env var to pick up the `.rubocop.yml` if it is not run on the real file (which is the case here). See https://github.com/sds/slim-lint/blob/master/lib/slim_lint/linter/README.md#rubocop --- .../test_slimlint_command_callback.vader | 35 ++++++++++++++++++++++ test/slimlint-test-files/.rubocop.yml | 0 test/slimlint-test-files/subdir/file.slim | 0 3 files changed, 35 insertions(+) create mode 100644 test/command_callback/test_slimlint_command_callback.vader create mode 100644 test/slimlint-test-files/.rubocop.yml create mode 100644 test/slimlint-test-files/subdir/file.slim (limited to 'test') diff --git a/test/command_callback/test_slimlint_command_callback.vader b/test/command_callback/test_slimlint_command_callback.vader new file mode 100644 index 00000000..1bff4288 --- /dev/null +++ b/test/command_callback/test_slimlint_command_callback.vader @@ -0,0 +1,35 @@ +Before: + runtime ale_linters/slim/slimlint.vim + + let g:default_command = 'slim-lint %t' + + call ale#test#SetDirectory('/testplugin/test/command_callback') + +After: + Restore + + unlet! g:default_command + + let g:ale_has_override = {} + + call ale#linter#Reset() + call ale#test#RestoreDirectory() + +Execute(The default command should be correct): + AssertEqual g:default_command, ale_linters#slim#slimlint#GetCommand(bufnr('')) + +Execute(The command should have the .rubocop.yml prepended as an env var if one exists): + call ale#test#SetFilename('../slimlint-test-files/subdir/file.slim') + + AssertEqual + \ 'SLIM_LINT_RUBUCOP_CONF=''/testplugin/test/slimlint-test-files/.rubocop.yml'' ' . g:default_command, + \ ale_linters#slim#slimlint#GetCommand(bufnr('')) + +Execute(The command should have the .rubocop.yml prepended as an env var if one exists on win32): + call ale#test#SetFilename('../slimlint-test-files/subdir/file.slim') + + let g:ale_has_override['win32'] = 1 + + AssertEqual + \ 'set SLIM_LINT_RUBUCOP_CONF=''/testplugin/test/slimlint-test-files/.rubocop.yml'' && ' . g:default_command, + \ ale_linters#slim#slimlint#GetCommand(bufnr('')) diff --git a/test/slimlint-test-files/.rubocop.yml b/test/slimlint-test-files/.rubocop.yml new file mode 100644 index 00000000..e69de29b diff --git a/test/slimlint-test-files/subdir/file.slim b/test/slimlint-test-files/subdir/file.slim new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3