about summary refs log tree commit diff
path: root/users/aspen/emacs.d/snippets/haskell-mode/test-module
# -*- mode: snippet -*-
# name: test-module
# key: test
# expand-env: ((yas-indent-line 'fixed))
# --
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
                (let ((name (file-name-sans-extension (buffer-file-name)))
                      (case-fold-search nil))
                     (if (cl-search "test/" name)
                         (replace-regexp-in-string "/" "."
                           (replace-regexp-in-string "^\/[^A-Z]*" ""
                             (car (last (split-string name "src")))))
                         (file-name-nondirectory name))))`} (main, test) where
--------------------------------------------------------------------------------
import           Test.Prelude
--------------------------------------------------------------------------------
import           ${1:$(s-chop-suffix "Spec" yas-text)}
--------------------------------------------------------------------------------

main :: IO ()
main = defaultMain test

test :: TestTree
test = testGroup "$1"
  [ $0
  ]