Imported Upstream version 7.1
[platform/upstream/dos2unix.git] / test / symlink.t
1 #!/usr/bin/perl
2
3 # Requires perl-Test-Simple installation.
4 use Test::Simple tests => 14;
5
6 $suffix = "";
7 if (-e "../dos2unix.exe") {
8   $suffix = ".exe";
9 }
10 $DOS2UNIX = "../dos2unix" . $suffix;
11 $MAC2UNIX = "../mac2unix" . $suffix;
12 $UNIX2DOS = "../unix2dos" . $suffix;
13 $UNIX2MAC = "../unix2mac" . $suffix;
14
15 # dos2unix skip symlink
16
17 system("cp -f dos.txt out_link.txt");
18 system("rm -f in_link.txt; ln -s out_link.txt in_link.txt");
19
20 system("$DOS2UNIX -v in_link.txt; cmp out_link.txt dos.txt");
21 ok( $? == 0, 'dos2unix, skip symlink, check symlink target.' );
22
23 if (-l "in_link.txt") {
24   $symlink = "1";
25 } else {
26   $symlink = "0";
27 }
28
29 ok( $symlink == 1, 'dos2unix, skip symlink, check symlink.' );
30
31
32 # dos2unix replace symlink
33
34
35 system("$DOS2UNIX -v -R in_link.txt; cmp out_link.txt dos.txt");
36 ok( $? == 0, 'dos2unix, replace symlink, check symlink target.' );
37
38 if (-l "in_link.txt") {
39   $symlink = "1";
40 } else {
41   $symlink = "0";
42 }
43
44 ok( $symlink == 0, 'dos2unix, replace symlink, check symlink.' );
45
46 system("cmp in_link.txt unix.txt");
47 ok( $? == 0, 'dos2unix, replace symlink, check conversion.' );
48
49
50 # dos2unix follow symlink
51
52
53 system("cp -f dos.txt out_link.txt");
54 system("rm -f in_link.txt; ln -s out_link.txt in_link.txt");
55
56 system("$DOS2UNIX -v -F in_link.txt; cmp out_link.txt unix.txt");
57 ok( $? == 0, 'dos2unix, follow symlink, check symlink target.' );
58
59 if (-l "in_link.txt") {
60   $symlink = "1";
61 } else {
62   $symlink = "0";
63 }
64
65 ok( $symlink == 1, 'dos2unix, follow symlink, check symlink.' );
66
67
68
69 # unix2dos skip symlink
70
71 system("cp -f unix.txt out_link.txt");
72 system("rm -f in_link.txt; ln -s out_link.txt in_link.txt");
73
74 system("$UNIX2DOS -v in_link.txt; cmp out_link.txt unix.txt");
75 ok( $? == 0, 'unix2dos, skip symlink, check symlink target.' );
76
77 if (-l "in_link.txt") {
78   $symlink = "1";
79 } else {
80   $symlink = "0";
81 }
82
83 ok( $symlink == 1, 'unix2dos, skip symlink, check symlink.' );
84
85
86 # unix2dos replace symlink
87
88
89 system("$UNIX2DOS -v -R in_link.txt; cmp out_link.txt unix.txt");
90 ok( $? == 0, 'unix2dos, replace symlink, check symlink target.' );
91
92 if (-l "in_link.txt") {
93   $symlink = "1";
94 } else {
95   $symlink = "0";
96 }
97
98 ok( $symlink == 0, 'unix2dos, replace symlink, check symlink.' );
99
100 system("cmp in_link.txt dos.txt");
101 ok( $? == 0, 'unix2dos, replace symlink, check conversion.' );
102
103
104 # unix2dos follow symlink
105
106
107 system("cp -f unix.txt out_link.txt");
108 system("rm -f in_link.txt; ln -s out_link.txt in_link.txt");
109
110 system("$UNIX2DOS -v -F in_link.txt; cmp out_link.txt dos.txt");
111 ok( $? == 0, 'unix2dos, follow symlink, check symlink target.' );
112
113 if (-l "in_link.txt") {
114   $symlink = "1";
115 } else {
116   $symlink = "0";
117 }
118
119 ok( $symlink == 1, 'unix2dos, follow symlink, check symlink.' );