Skip to content

Commit e676825

Browse files
committed
More tests.
1 parent f1fa66d commit e676825

File tree

1 file changed

+42
-16
lines changed

1 file changed

+42
-16
lines changed

t/dav_ext.t

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use HTTP::DAV
2222
select STDERR; $| = 1;
2323
select STDOUT; $| = 1;
2424

25-
my $t = Test::Nginx->new()->has(qw/http dav/)->plan(13);
25+
my $t = Test::Nginx->new()->has(qw/http dav/)->plan(20);
2626

2727
$t->write_file_expand('nginx.conf', <<'EOF');
2828
@@ -65,6 +65,10 @@ my $content;
6565
my $d = HTTP::DAV->new();
6666
$d->open($url);
6767

68+
#debug:
69+
#$d->DebugLevel(3);
70+
#see /tmp/perldav_debug.txt.
71+
6872
my $p = $d->propfind('/', 1);
6973
is($p->is_collection, 1, 'propfind dir collection');
7074
is($p->get_property('displayname'), '/', 'propfind dir displayname');
@@ -85,32 +89,54 @@ is($d->lock('/foo'), 0, 'prevent double lock');
8589
$d->unlock('/foo');
8690
is($d->lock('/foo'), 1, 'relock');
8791

92+
$d->lock('/bar');
93+
$p = $d->propfind('/bar');
94+
is($p->get_property('displayname'), 'bar', 'lock creates a file');
95+
96+
$d->get('/bar', \$content) or $content = 'none';
97+
is($content, '', 'lock creates an empty file');
98+
8899
$content = "bar";
89-
$d->put(\$content, '/foo');
90-
$content = '';
91-
$d->get('/foo', \$content);
100+
$d->put(\$content, '/bar');
101+
$d->get('/bar', \$content) or $content = '';
92102
is($content, 'bar', 'put lock');
93103

94104
$content = "qux";
95-
$d2->put(\$content, '/foo');
96-
$content = '';
97-
$d2->get('/foo', \$content);
105+
$d2->put(\$content, '/bar');
106+
$d2->get('/bar', \$content) or $content = '';
98107
isnt($content, 'qux', 'prevent put lock');
99108

100-
$d->mkcol('/d');
109+
$d->mkcol('/d/');
101110
$d->lock('/d/');
102-
$d->copy('/foo', '/d/foo');
103-
$content = '';
104-
$d->get('/d/foo', \$content);
111+
$d->copy('/bar', '/d/bar');
112+
$d->get('/d/bar', \$content) or $content = '';
105113
is($content, 'bar', 'copy lock');
106114

107-
$d->unlock('/foo');
108-
$d2->copy('/foo', '/d/bar');
109-
$content = '';
110-
$d2->get('/d/bar', \$content);
115+
$d2->copy('/bar', '/d/qux');
116+
$d2->get('/d/qux', \$content) or $content = '';
111117
isnt($content, 'bar', 'prevent copy lock');
112118

113-
$d->unlock('/d');
119+
$d2->delete('/d/bar');
120+
$d2->get('/d/bar', \$content) or $content = '';
121+
is($content, 'bar', 'prevent delete lock');
122+
123+
$d->delete('/d/bar');
124+
$d->get('/d/bar', \$content) or $content = '';
125+
is($content, '', 'delete lock');
126+
127+
$d->mkcol('/d/c/');
128+
$p = $d->propfind('/d/c/');
129+
is($p->is_collection, 1, 'mkcol lock');
130+
131+
$d2->mkcol('/d/e/');
132+
is($d2->propfind('/d/e/'), 0, 'prevent mkcol lock');
133+
134+
$d->unlock('/d/');
135+
$d->lock('/d/', -depth=>"0");
136+
$content = 'qux';
137+
$d2->put(\$content, '/d/c/qux');
138+
$d2->get('/d/c/qux', \$content) or $content = '';
139+
is($content, 'qux', 'put to a depth-0-locked subdirectory');
114140

115141

116142
###############################################################################

0 commit comments

Comments
 (0)