~ubuntu-branches/ubuntu/maverick/libfile-fu-perl/maverick

« back to all changes in this revision

Viewing changes to t/dirlinks.t

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Yu
  • Date: 2009-07-25 07:10:04 UTC
  • Revision ID: james.westby@ubuntu.com-20090725071004-p7cmwowvpf0f7k81
Tags: upstream-0.0.6
ImportĀ upstreamĀ versionĀ 0.0.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl
 
2
 
 
3
use warnings;
 
4
use strict;
 
5
 
 
6
use Test::More no_plan =>;
 
7
 
 
8
use File::Fu;
 
9
 
 
10
my $tempdir = File::Fu->temp_dir; $tempdir->chdir;
 
11
 
 
12
my $this = File::Fu->dir('this')->mkdir;
 
13
 
 
14
# simply creating a link
 
15
{
 
16
  my $link = $this->symlink('foo');
 
17
  ok($link);
 
18
  ok($link->l);
 
19
  ok($link->e);
 
20
  $link->unlink;
 
21
  ok(! $link->e, 'gone');
 
22
  ok($this->e);
 
23
}
 
24
 
 
25
# links don't have to point to existing directories
 
26
{
 
27
  my $none = File::Fu->dir('bah');
 
28
  my $link = $none->symlink('deal');
 
29
  isa_ok($link, 'File::Fu::Dir');
 
30
  ok($link->l);
 
31
  ok(! $link->e, 'nothing there');
 
32
  $link->unlink;
 
33
  ok(! $link->l);
 
34
}
 
35
 
 
36
# make sure we can pass inputs a few ways
 
37
{
 
38
  my $dir = File::Fu->dir("dir")->mkdir;
 
39
  my $link = File::Fu->dir("what")->symlink($dir / 'link');
 
40
  ok(! $link->e);
 
41
  ok($link->l, 'is a link');
 
42
  $link->unlink;
 
43
 
 
44
  $link = File::Fu->dir("what")->symlink('dir/link');
 
45
  ok($link->l, 'is a link');
 
46
  $link->unlink;
 
47
 
 
48
  $link = File::Fu->dir("what")->symlink('dir/link/');
 
49
  ok($link->l, 'is a link');
 
50
  $link->unlink;
 
51
  $dir->rmdir;
 
52
}
 
53
 
 
54
# relative
 
55
{
 
56
  my $dir = File::Fu->dir("dir")->mkdir;
 
57
  my $link = $this->relative_symlink($dir / 'whee');
 
58
  ok($link->l);
 
59
  ok($link->e);
 
60
  ok($link->d);
 
61
  my $lfile = $link + 'file';
 
62
  $lfile->touch;
 
63
  my $file = $this + 'file';
 
64
  ok($file->e, 'exists');
 
65
  $file->unlink;
 
66
  ok(! $lfile->e, 'gone');
 
67
  $link->unlink;
 
68
  $dir->rmdir;
 
69
}
 
70
 
 
71
# relative where there is no depth involved
 
72
{
 
73
  my $link = $this->relative_symlink('whee');
 
74
  ok($link->e);
 
75
  ok($link->l);
 
76
  ok($link->d);
 
77
  my $lfile = $link + 'file';
 
78
  $lfile->touch;
 
79
  my $file = $this + 'file';
 
80
  ok($file->e, 'exists');
 
81
  $file->unlink;
 
82
  ok(! $lfile->e, 'gone');
 
83
  $link->unlink;
 
84
}
 
85
$this->rmdir;
 
86
 
 
87
 
 
88
 
 
89
# vim:ts=2:sw=2:et:sta