Before:
  call ale#assert#SetUpLinterTest('pug', 'puglint')

After:
  call ale#assert#TearDownLinterTest()

Execute(puglint should detect local executables and package.json):
  call ale#test#SetFilename('puglint_project/test.pug')

  AssertLinter
  \ ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
  \ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
  \   . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/package.json'))
  \   . ' -r inline %t'

Execute(puglint should use global executables if configured):
  let g:ale_pug_puglint_use_global = 1

  call ale#test#SetFilename('puglint_project/test.pug')

  AssertLinter 'pug-lint',
  \ ale#Escape('pug-lint')
  \   . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/package.json'))
  \   . ' -r inline %t'

Execute(puglint should detect .pug-lintrc):
  call ale#test#SetFilename('puglint_project/puglint_rc_dir/subdir/test.pug')

  AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
  \ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
  \   . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_dir/.pug-lintrc'))
  \   . ' -r inline %t'

Execute(puglint should detect .pug-lintrc.js):
  call ale#test#SetFilename('puglint_project/puglint_rc_js_dir/subdir/test.pug')

  AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
  \ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
  \   . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_js_dir/.pug-lintrc.js'))
  \   . ' -r inline %t'

Execute(puglint should detect .pug-lintrc.json):
  call ale#test#SetFilename('puglint_project/puglint_rc_json_dir/subdir/test.pug')

  AssertLinter ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'),
  \ ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/node_modules/.bin/pug-lint'))
  \   . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/puglint_project/puglint_rc_json_dir/.pug-lintrc.json'))
  \   . ' -r inline %t'