summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2022-08-05 11:46:47 +0200
committerStefan Kangas <stefan@marxist.se>2022-08-05 11:47:05 +0200
commit5426f67006cd9b30dd3cb3768ba6ca59681f68e8 (patch)
tree60c07a23b8ad32c3d4eaac7fa05c23eb5f3a9573
parentcbe1af96a266d7153c3dde098194a7e154902b60 (diff)
downloademacs-5426f67006cd9b30dd3cb3768ba6ca59681f68e8.tar.gz
* test/lisp/env-tests.el: New file.
-rw-r--r--lisp/env.el2
-rw-r--r--test/lisp/env-tests.el40
2 files changed, 41 insertions, 1 deletions
diff --git a/lisp/env.el b/lisp/env.el
index a35383a13b1..5cdedbfb99a 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -1,6 +1,6 @@
;;; env.el --- functions to manipulate environment variables -*- lexical-binding:t -*-
-;; Copyright (C) 1991, 1994, 2000-2022 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2022 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: processes, unix
diff --git a/test/lisp/env-tests.el b/test/lisp/env-tests.el
new file mode 100644
index 00000000000..fd3d3cb2734
--- /dev/null
+++ b/test/lisp/env-tests.el
@@ -0,0 +1,40 @@
+;;; env-tests.el --- Tests for env.el -*- lexical-binding: t -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'env)
+(require 'ert)
+
+(ert-deftest test-substitute-env-in-file-name ()
+ (should (equal (substitute-env-in-file-name "foo_${HOME}_bar")
+ (concat "foo_" (getenv "HOME") "_bar"))))
+
+(ert-deftest test-getenv-setenv ()
+ (should (equal (setenv "EMACS_ENV_EL_TEST_VAR" "foobar") "foobar"))
+ (should (equal (getenv "EMACS_ENV_EL_TEST_VAR") "foobar"))
+ (should-not (getenv "LIKELY_TO_BE_NON_EXISTENT_FOO_BAR_BAZ")))
+
+(ert-deftest test-with-environment-variables ()
+ (let ((A "TEST") (B "/foo/bar"))
+ (with-environment-variables ((A B))
+ (should (equal (getenv A) B)))))
+
+(provide 'env-tests)
+;;; env-tests.el ends here