Imported Upstream version 3.3
[platform/upstream/diffutils.git] / tests / filename-quoting
1 #!/bin/sh
2 # filename quoting
3
4 . "${srcdir=.}/init.sh"; path_prepend_ ../src
5
6 fail=0
7
8 cat <<EOF > exp- || fail=1
9 diff -N -r "a/ " "b/ "
10 0a1
11 > space
12 EOF
13
14 cat <<EOF > exp--u || fail=1
15 diff -N -r -u "a/ " "b/ "
16 --- "a/ "
17 +++ "b/ "
18 @@ -0,0 +1 @@
19 +space
20 EOF
21
22 cat <<EOF > exp--c || fail=1
23 diff -N -r -c "a/ " "b/ "
24 *** "a/ "
25 --- "b/ "
26 ***************
27 *** 0 ****
28 --- 1 ----
29 + space
30 EOF
31
32 mkdir a b
33 echo space > "b/ " || fail=1
34 for opt in '' -u -c; do
35   diff -N -r $opt a b > out 2> err; test $? = 1 || fail=1
36   # Remove date and time.
37   sed -e 's/^\([-+*][-+*][-+*] [^       ]*\)    .*/\1/' out > k; mv k out
38   compare exp-$(echo $opt|tr ' ' _) out || fail=1
39 done
40
41 rm -f "b/ "
42
43 cat <<EOF > exp || fail=1
44 --- "a/\t"
45 +++ "b/\001"
46 @@ -1 +1 @@
47 -tab
48 +one
49 EOF
50
51 tab=$(printf '\t')
52 x01=$(printf '\001')
53
54 echo tab > "a/$tab"   || fail=1
55 echo one > "b/$x01" || fail=1
56 diff -u "a/$tab" "b/$x01" > out 2> err; test $? = 1 || fail=1
57 # Remove date and time.
58 sed -e 's/^\([-+*][-+*][-+*] [^ ]*\)    .*/\1/' out > k; mv k out
59 compare exp out || fail=1
60
61 Exit $fail