]> code.delx.au - gnu-emacs/blobdiff - test/automated/files.el
Update copyright year to 2015
[gnu-emacs] / test / automated / files.el
index b6011395bfd75e949cd289047a6e7940628383e0..0522e0c5c79428ef773b070a22344d3f2c6002f5 100644 (file)
@@ -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.
+\f
+
 ;;; files.el ends here