diff options
Diffstat (limited to 'test/lisp/tar-mode-tests.el')
-rw-r--r-- | test/lisp/tar-mode-tests.el | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/test/lisp/tar-mode-tests.el b/test/lisp/tar-mode-tests.el index e005c2d8cc0..47c658eb9ad 100644 --- a/test/lisp/tar-mode-tests.el +++ b/test/lisp/tar-mode-tests.el @@ -1,6 +1,6 @@ ;;; tar-mode-tests.el --- Test suite for tar-mode. -*- lexical-binding: t -*- -;; Copyright (C) 2017 Free Software Foundation, Inc. +;; Copyright (C) 2017-2022 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -21,16 +21,31 @@ (require 'ert) (require 'tar-mode) +(defvar tar-mode-tests-data-directory + (expand-file-name "test/data/decompress" source-directory)) (ert-deftest tar-mode-test-tar-grind-file-mode () (let ((alist (list (cons 448 "rwx------") (cons 420 "rw-r--r--") (cons 292 "r--r--r--") (cons 512 "--------T") - (cons 1024 "-----S---")))) + (cons 1024 "-----S---") + (cons 2048 "--S------")))) (dolist (x alist) - (should (equal (cdr x) (tar-grind-file-mode (car x))))))) + (with-suppressed-warnings ((obsolete tar-grind-file-mode)) + (should (equal (cdr x) (tar-grind-file-mode (car x)))))))) + +(ert-deftest tar-mode-test-tar-extract-gz () + (skip-unless (executable-find "gzip")) + (let* ((tar-file (expand-file-name "tg.tar.gz" tar-mode-tests-data-directory)) + tar-buffer gz-buffer) + (unwind-protect + (with-current-buffer (setq tar-buffer (find-file-noselect tar-file)) + (setq gz-buffer (tar-extract)) + (should (equal (char-after) ?\N{SNOWFLAKE}))) + (when (buffer-live-p tar-buffer) (kill-buffer tar-buffer)) + (when (buffer-live-p gz-buffer) (kill-buffer gz-buffer))))) (provide 'tar-mode-tests) -;; tar-mode-tests.el ends here +;;; tar-mode-tests.el ends here |