diff options
| author | Eli Zaretskii | 2017-09-08 10:51:14 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2017-09-08 10:51:14 +0300 |
| commit | e2a10d7fa8092ef51a3b61a363061e37224e2ca1 (patch) | |
| tree | e6efaca41d7e006f88250e44213eb9fbaf2c41ae /test/src | |
| parent | 442fe111436264e1a610fbf5686ccf1314407d4a (diff) | |
| download | emacs-e2a10d7fa8092ef51a3b61a363061e37224e2ca1.tar.gz emacs-e2a10d7fa8092ef51a3b61a363061e37224e2ca1.zip | |
Fix 'directory-file-name' on DOS_NT systems as well
* src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
to be consistent with last change.
* test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
Disable on MS-Windows.
(fileio-tests--directory-file-name-dos-nt)
(fileio-tests--file-name-as-directory-dos-nt): New tests.
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/fileio-tests.el | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/src/fileio-tests.el b/test/src/fileio-tests.el index ac5d533e63b..7ac70a58961 100644 --- a/test/src/fileio-tests.el +++ b/test/src/fileio-tests.el | |||
| @@ -43,6 +43,10 @@ | |||
| 43 | (ert-deftest fileio-tests--odd-symlink-chars () | 43 | (ert-deftest fileio-tests--odd-symlink-chars () |
| 44 | "Check that any non-NULL ASCII character can appear in a symlink. | 44 | "Check that any non-NULL ASCII character can appear in a symlink. |
| 45 | Also check that an encoding error can appear in a symlink." | 45 | Also check that an encoding error can appear in a symlink." |
| 46 | ;; Some Windows versions don't support symlinks, and those which do | ||
| 47 | ;; will pop up UAC elevation prompts, so we disable this test on | ||
| 48 | ;; MS-Windows. | ||
| 49 | (skip-unless (not (eq system-type 'windows-nt))) | ||
| 46 | (should (equal nil (fileio-tests--symlink-failure)))) | 50 | (should (equal nil (fileio-tests--symlink-failure)))) |
| 47 | 51 | ||
| 48 | (ert-deftest fileio-tests--directory-file-name () | 52 | (ert-deftest fileio-tests--directory-file-name () |
| @@ -54,6 +58,17 @@ Also check that an encoding error can appear in a symlink." | |||
| 54 | (should (equal (directory-file-name "/abc/") "/abc")) | 58 | (should (equal (directory-file-name "/abc/") "/abc")) |
| 55 | (should (equal (directory-file-name "/abc//") "/abc"))) | 59 | (should (equal (directory-file-name "/abc//") "/abc"))) |
| 56 | 60 | ||
| 61 | (ert-deftest fileio-tests--directory-file-name-dos-nt () | ||
| 62 | "Like fileio-tests--directory-file-name, but for DOS_NT systems." | ||
| 63 | (skip-unless (memq system-type '(ms-dos windows-nt))) | ||
| 64 | (should (equal (directory-file-name "d:/") "d:/")) | ||
| 65 | (should (equal (directory-file-name "d://") "d:/")) | ||
| 66 | (should (equal (directory-file-name "d:///") "d:/")) | ||
| 67 | (should (equal (directory-file-name "d:////") "d:/")) | ||
| 68 | (should (equal (directory-file-name "d:/abc") "d:/abc")) | ||
| 69 | (should (equal (directory-file-name "d:/abc/") "d:/abc")) | ||
| 70 | (should (equal (directory-file-name "d:/abc//") "d:/abc"))) | ||
| 71 | |||
| 57 | (ert-deftest fileio-tests--file-name-as-directory () | 72 | (ert-deftest fileio-tests--file-name-as-directory () |
| 58 | (should (equal (file-name-as-directory "") "./")) | 73 | (should (equal (file-name-as-directory "") "./")) |
| 59 | (should (equal (file-name-as-directory "/") "/")) | 74 | (should (equal (file-name-as-directory "/") "/")) |
| @@ -63,3 +78,18 @@ Also check that an encoding error can appear in a symlink." | |||
| 63 | (should (equal (file-name-as-directory "/abc") "/abc/")) | 78 | (should (equal (file-name-as-directory "/abc") "/abc/")) |
| 64 | (should (equal (file-name-as-directory "/abc/") "/abc/")) | 79 | (should (equal (file-name-as-directory "/abc/") "/abc/")) |
| 65 | (should (equal (file-name-as-directory "/abc//") "/abc//"))) | 80 | (should (equal (file-name-as-directory "/abc//") "/abc//"))) |
| 81 | |||
| 82 | (ert-deftest fileio-tests--file-name-as-directory-dos-nt () | ||
| 83 | "Like fileio-tests--file-name-as-directory, but for DOS_NT systems." | ||
| 84 | (skip-unless (memq system-type '(ms-dos windows-nt))) | ||
| 85 | (should (equal (file-name-as-directory "d:/") "d:/")) | ||
| 86 | (should (equal (file-name-as-directory "d:\\") "d:/")) | ||
| 87 | (should (equal (file-name-as-directory "d://") "d://")) | ||
| 88 | (should (equal (file-name-as-directory "d:///") "d:///")) | ||
| 89 | (should (equal (file-name-as-directory "d:////") "d:////")) | ||
| 90 | (should (equal (file-name-as-directory "d:\\\\\\\\") "d:////")) | ||
| 91 | (should (equal (file-name-as-directory "d:/abc") "d:/abc/")) | ||
| 92 | (should (equal (file-name-as-directory "D:\\abc") "d:/abc/")) | ||
| 93 | (should (equal (file-name-as-directory "d:/abc/") "d:/abc/")) | ||
| 94 | (should (equal (file-name-as-directory "D:\\abc/") "d:/abc/")) | ||
| 95 | (should (equal (file-name-as-directory "D:/abc//") "d:/abc//"))) | ||