Before:
  call ale#test#SetDirectory('/testplugin/test/fixers')

After:
  unlet! b:ale_elm_format_executable
  unlet! b:ale_elm_format_use_global
  unlet! b:ale_elm_format_options

  call ale#test#RestoreDirectory()

Execute(The elm-format command should have default params):
  call ale#test#SetFilename('../test-files/elm/src/subdir/testfile.elm')

  AssertEqual
  \ {
  \   'read_temporary_file': 1,
  \   'command':
  \     ale#Escape(ale#path#Simplify(g:dir . '/../test-files/elm/node_modules/.bin/elm-format'))
  \     . ' %t --yes',
  \ },
  \ ale#fixers#elm_format#Fix(bufnr(''))

Execute(The elm-format command should manage use_global = 1 param):
  call ale#test#SetFilename('../test-files/elm/src/subdir/testfile.elm')
  let b:ale_elm_format_use_global = 1

  AssertEqual
  \ {
  \   'read_temporary_file': 1,
  \   'command':
  \     ale#Escape('elm-format')
  \     . ' %t --yes',
  \ },
  \ ale#fixers#elm_format#Fix(bufnr(''))

Execute(The elm-format command should manage executable param):
  call ale#test#SetFilename('../test-files/elm/src/subdir/testfile.elm')
  let b:ale_elm_format_use_global = 1
  let b:ale_elm_format_executable = 'elmformat'

  AssertEqual
  \ {
  \   'read_temporary_file': 1,
  \   'command':
  \     ale#Escape('elmformat')
  \     . ' %t --yes',
  \ },
  \ ale#fixers#elm_format#Fix(bufnr(''))

Execute(The elm-format command should manage empty options):
  call ale#test#SetFilename('../test-files/elm/src/subdir/testfile.elm')
  let b:ale_elm_format_options = ''

  AssertEqual
  \ {
  \   'read_temporary_file': 1,
  \   'command':
  \     ale#Escape(ale#path#Simplify(g:dir . '/../test-files/elm/node_modules/.bin/elm-format'))
  \     . ' %t',
  \ },
  \ ale#fixers#elm_format#Fix(bufnr(''))

Execute(The elm-format command should manage custom options):
  call ale#test#SetFilename('../test-files/elm/src/subdir/testfile.elm')
  let b:ale_elm_format_options = '--param1 --param2'

  AssertEqual
  \ {
  \   'read_temporary_file': 1,
  \   'command':
  \     ale#Escape(ale#path#Simplify(g:dir . '/../test-files/elm/node_modules/.bin/elm-format'))
  \     . ' %t --param1 --param2',
  \ },
  \ ale#fixers#elm_format#Fix(bufnr(''))