summaryrefslogtreecommitdiff
path: root/test/src/fileio-tests.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-07-24 14:28:13 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-07-24 14:33:02 -0700
commita5063aa8b174db286a0e83b8ffdd4e65c521f733 (patch)
treedc439d78ecef638817f98cb7e43868fa2ab7b856 /test/src/fileio-tests.el
parente089c3141a51bf70b91da21a01cdb4be0b63c08d (diff)
downloademacs-a5063aa8b174db286a0e83b8ffdd4e65c521f733.tar.gz
Do not treat ~nosuchuser as an absolute file name
Derived from Ken Brown’s patch (Bug#36502#97). * doc/lispref/files.texi (Relative File Names): * etc/NEWS: Document this. * src/fileio.c (user_homedir): New function. (Fexpand_file_name, file_name_absolute_p): Use it. (search_embedded_absfilename): Simplify via file_name_absolute_p. * test/src/fileio-tests.el (fileio-tests--no-such-user): New test.
Diffstat (limited to 'test/src/fileio-tests.el')
-rw-r--r--test/src/fileio-tests.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/src/fileio-tests.el b/test/src/fileio-tests.el
index 813ee5f798f..09a5b147e1d 100644
--- a/test/src/fileio-tests.el
+++ b/test/src/fileio-tests.el
@@ -136,3 +136,14 @@ Also check that an encoding error can appear in a symlink."
(name (expand-file-name "bar")))
(should (and (file-name-absolute-p name)
(not (eq (aref name 0) ?~))))))
+
+(ert-deftest fileio-tests--no-such-user ()
+ "Test file-name-absolute-p on ~nosuchuser."
+ (unless (user-full-name "nosuchuser")
+ (should (not (file-name-absolute-p "~nosuchuser")))
+ (should (not (file-name-absolute-p "~nosuchuser/")))
+ (should (not (file-name-absolute-p "~nosuchuser//")))
+ (should (not (file-name-absolute-p "~nosuchuser/foo")))
+ (should (not (file-name-absolute-p "~nosuchuser/foo/")))
+ (should (not (file-name-absolute-p "~nosuchuser/foo//")))
+ (should (not (file-name-absolute-p "~nosuchuser/foo/bar")))))