1;;; elixir-mode-helper-test.el --- Tests for helper functions 2 3;;; Code: 4 5(ert-deftest check-if-currently-inside-heredoc () 6 (should (with-temp-buffer 7 (elixir-mode) 8 (insert " 9defmodule Module.Name do 10 11 @moduledoc \"\"\" 12 ## Examples 13 14 .... 15 \"\"\" 16 17end") 18 (goto-line 7) 19 (elixir-smie--heredoc-at-current-point-p))) 20 (should (not (with-temp-buffer 21 (elixir-mode) 22 (insert " 23defmodule Module.Name do 24 25 @moduledoc \"\"\" 26 ## Examples 27 28 .... 29 \"\"\" 30 31end") 32 (goto-line 3) 33 (elixir-smie--heredoc-at-current-point-p))))) 34 35(ert-deftest get-previous-line-indentation () 36 (should (equal 2 37 (with-temp-buffer 38 (elixir-mode) 39 (insert " 40defmodule Module.Name do 41 def what do 42 1 + 1 43 end 44end") 45 (goto-line 4) 46 (elixir-smie--previous-line-indentation)))) 47 ) 48 49 50(ert-deftest check-if-previous-line-blank () 51 (should (not (with-temp-buffer 52 (elixir-mode) 53 (insert " 54defmodule Module.Name do 55 56 def what do 57 1 + 1 58 end 59end") 60 (goto-line 3) 61 (elixir-smie--previous-line-empty-p)))) 62 (should (with-temp-buffer 63 (elixir-mode) 64 (insert " 65defmodule Module.Name do 66 67 68 def what do 69 1 + 1 70 end 71end") 72 (goto-line 4) 73 (elixir-smie--previous-line-empty-p)))) 74 75 76;;; elixir-mode-helper-test.el --- Tests for helper functions 77 78;;; Code: 79 80(ert-deftest check-if-currently-inside-heredoc () 81 (should (with-temp-buffer 82 (elixir-mode) 83 (insert " 84defmodule Module.Name do 85 86 @moduledoc \"\"\" 87 ## Examples 88 89 .... 90 \"\"\" 91 92end") 93 (goto-line 7) 94 (elixir-smie--heredoc-at-current-point-p))) 95 (should (not (with-temp-buffer 96 (elixir-mode) 97 (insert " 98defmodule Module.Name do 99 100 @moduledoc \"\"\" 101 ## Examples 102 103 .... 104 \"\"\" 105 106end") 107 (goto-line 3) 108 (elixir-smie--heredoc-at-current-point-p))))) 109 110(ert-deftest get-previous-line-indentation () 111 (should (equal 2 112 (with-temp-buffer 113 (elixir-mode) 114 (insert " 115defmodule Module.Name do 116 def what do 117 1 + 1 118 end 119end") 120 (goto-line 4) 121 (elixir-smie--previous-line-indentation)))) 122 ) 123 124 125(ert-deftest check-if-previous-line-blank () 126 (should (not (with-temp-buffer 127 (elixir-mode) 128 (insert " 129defmodule Module.Name do 130 131 def what do 132 1 + 1 133 end 134end") 135 (goto-line 3) 136 (elixir-smie--previous-line-empty-p)))) 137 (should (with-temp-buffer 138 (elixir-mode) 139 (insert " 140defmodule Module.Name do 141 142 143 def what do 144 1 + 1 145 end 146end") 147 (goto-line 4) 148 (elixir-smie--previous-line-empty-p)))) 149 150 151(ert-deftest test-current-line-contains-built-in-keyword () 152 (should (not (with-temp-buffer 153 (elixir-mode) 154 (insert " 155defmodule Module.Name do 156 157 def hey(test) do 158 test.case 159 end 160end") 161 (goto-line 4) 162 (elixir-smie-current-line-contains-built-in-keyword-p)))) 163 (should (not (with-temp-buffer 164 (elixir-mode) 165 (insert " 166defmodule Module.Name do 167 168 def hey(test) do 169 case do 170 end 171 end 172end") 173 (goto-line 4) 174 (elixir-smie-current-line-contains-built-in-keyword-p))))) 175 176(ert-deftest test-if-string-is-empty () 177 (should (equal (elixir-smie-empty-string-p nil) 178 t)) 179 (should (equal (elixir-smie-empty-string-p "") 180 t)) 181 (should (equal (elixir-smie-empty-string-p " ") 182 t)) 183 (should (equal (elixir-smie-empty-string-p "story") 184 nil)) 185 (should (equal (elixir-smie-empty-string-p " ") 186 t))) 187 188(provide 'elixir-mode-helper-test) 189 190;;; elixir-mode-helper-test.el ends here 191