X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/31e7d6e0902a895e13833204907dfb86268b5acf..732fd4c7e11debd61c97eaaba3038d61e6ec7024:/test/automated/files.el?ds=sidebyside diff --git a/test/automated/files.el b/test/automated/files.el index b6011395bf..0522e0c5c7 100644 --- a/test/automated/files.el +++ b/test/automated/files.el @@ -1,6 +1,6 @@ ;;; files.el --- tests for file handling. -;; Copyright (C) 2012 Free Software Foundation, Inc. +;; Copyright (C) 2012-2015 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -23,9 +23,9 @@ ;; Set to t if the local variable was set, `query' if the query was ;; triggered. -(defvar files-test-result) +(defvar files-test-result nil) -(defvar files-test-safe-result) +(defvar files-test-safe-result nil) (put 'files-test-safe-result 'safe-local-variable 'booleanp) (defun files-test-fun1 () @@ -51,7 +51,7 @@ (:all nil (eq files-test-result nil)) (:all maybe (eq files-test-result t)) ; This combination is ambiguous. (maybe t (eq files-test-result 'query)) - (maybe nil (eq files-test-result 'query)) + (maybe nil (eq files-test-result nil)) (maybe maybe (eq files-test-result 'query))) ;; Unsafe local variable value (("files-test-result: t") @@ -123,11 +123,13 @@ form.") (defun file-test--do-local-variables-test (str test-settings) (with-temp-buffer (insert str) + (setq files-test-result nil + files-test-safe-result nil) (let ((enable-local-variables (nth 0 test-settings)) (enable-local-eval (nth 1 test-settings)) - (files-test-result nil) - (files-test-queried nil) - (files-test-safe-result nil)) + ;; Prevent any dir-locals file interfering with the tests. + (enable-dir-local-variables nil) + (files-test-queried nil)) (hack-local-variables) (eval (nth 2 test-settings))))) @@ -146,4 +148,25 @@ form.") (should (file-test--do-local-variables-test str subtest)))))) (ad-disable-advice 'hack-local-variables-confirm 'around 'files-test))) +(defvar files-test-bug-18141-file + (expand-file-name "data/files-bug18141.el.gz" (getenv "EMACS_TEST_DIRECTORY")) + "Test file for bug#18141.") + +(ert-deftest files-test-bug-18141 () + "Test for http://debbugs.gnu.org/18141 ." + (skip-unless (executable-find "gzip")) + (let ((tempfile (make-temp-file "files-test-bug-18141" nil ".gz"))) + (unwind-protect + (progn + (copy-file files-test-bug-18141-file tempfile t) + (with-current-buffer (find-file-noselect tempfile) + (set-buffer-modified-p t) + (save-buffer) + (should (eq buffer-file-coding-system 'iso-2022-7bit-unix)))) + (delete-file tempfile)))) + + +;; Stop the above "Local Var..." confusing Emacs. + + ;;; files.el ends here