aboutsummaryrefslogtreecommitdiff
path: root/tests/dir_name.at
blob: 062e422af883c1b849a8e87f1d7802a38d50fc7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
AT_BANNER([test dir_name function])

m4_define([CHECK_DIR_NAME],
  [AT_SETUP([dir_name("$1") returns "$2"])
   AT_KEYWORDS([dir_name])
   AT_CHECK([test-dir_name "AS_ESCAPE($1)"], [0], [$2
])
   AT_CLEANUP])

# These are the test cases given in POSIX for dirname().
CHECK_DIR_NAME([/usr/lib], [/usr])
CHECK_DIR_NAME([/usr/], [/])
CHECK_DIR_NAME([usr], [.])
CHECK_DIR_NAME([/], [/])
CHECK_DIR_NAME([.], [.])
CHECK_DIR_NAME([..], [.])
CHECK_DIR_NAME([//], [//])      # / is also allowed
CHECK_DIR_NAME([//foo], [//])   # / is also allowed
CHECK_DIR_NAME([], [.])

# Additional test cases.
CHECK_DIR_NAME([dir/file], [dir])
CHECK_DIR_NAME([dir/file/], [dir])
CHECK_DIR_NAME([dir/file//], [dir])
CHECK_DIR_NAME([///foo], [/])