solidity-flycheck-tests.el
1 ;;; solidity-flycheck-tests.el --- Setup and execute all tests 2 3 ;;; Commentary: 4 5 ;; This package contains tests for the solidity-flycheck package. 6 7 ;;; Code: 8 9 (require 'solidity-flycheck) 10 11 (ert-deftest test-solidity-flycheck--solc-allow-paths () 12 "Test that `solidity-flycheck--solc-allow-paths' contains `solidity-flycheck-solc-additional-allow-paths'." 13 (let ((solidity-flycheck-solc-additional-allow-paths '("/tmp/test1" "/tmp/test2"))) 14 (should (equal 15 (solidity-flycheck--solc-allow-paths) 16 '("/tmp/test1" "/tmp/test2" "."))))) 17 18 (defmacro with-temp-dirs (temp-dirs &rest body) 19 (let ((bindings (mapcar (lambda (d) `(,d (make-temp-file "" t))) 20 temp-dirs))) 21 `(let ,bindings 22 (unwind-protect 23 (progn 24 ,@body) 25 (progn 26 (dolist (d (list ,@temp-dirs)) 27 (delete-directory d t))))))) 28 29 (ert-deftest test-solidity-flycheck--solc-remappings () 30 "Test that `solidity-flycheck--solc-remappings' creates remappings for path in `solidity-flycheck--solc-allow-paths'" 31 (with-temp-dirs 32 (test-dir-1 test-dir-2 test-dir-3) 33 (let* ((default-directory test-dir-1) 34 (solidity-flycheck-solc-additional-allow-paths (list test-dir-2 test-dir-3))) 35 (make-directory (concat (file-name-as-directory test-dir-2) "subdir1")) 36 (make-directory (concat (file-name-as-directory test-dir-3) "@subdir2")) 37 (should (equal 38 (solidity-flycheck--solc-remappings) 39 (list (concat "subdir1=" (concat (file-name-as-directory test-dir-2) "subdir1")) 40 (concat "@subdir2=" (concat (file-name-as-directory test-dir-3) "@subdir2"))))))) 41 ) 42 43 (provide 'solidity-flycheck-tests) 44 ;;; solidity-flycheck-tests.el ends here