Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/perl/native/t/6ra.t view on Meta::CPAN
{
my $dirent = $ra->stat('trunk', 1);
# TEST
isa_ok($dirent, '_p_svn_dirent_t', 'stat dir: dirent object');
# TEST
is($dirent->kind, $SVN::Node::dir, 'stat dir: kind');
# TEST
is($dirent->size, -1, 'stat dir: size');
# TEST
is($dirent->created_rev, 1, 'stat dir: created_rev');
# TEST
ok($dirent->has_props, 'stat dir: has_props');
$dirent = $ra->stat('trunk/fileb', 1);
# TEST
is($dirent->kind, $SVN::Node::file, 'stat file: kind');
# TEST
ok(!$dirent->has_props, 'stat file: has_props');
}
# do_update
my $ed = MockEditor->new;
my $reporter = $ra->do_update(2, '', 1, $ed);
# TEST
isa_ok($reporter, 'SVN::Ra::Reporter');
$reporter->set_path('', 0, 1, undef);
$reporter->finish_report;
# TEST
is($ed->{_base_revnum}, 0, 'do_update: base_revision');
# TEST
is($ed->{_target_revnum}, 2, 'do_update: target_revnum');
# TEST
is($ed->{trunk}{props}{'dir-prop'}, 'frob', 'do_update: dir-prop');
# TEST
ok(!exists $ed->{'trunk/filea'}{props}{'test-prop'},
'do_update: deleted property');
# TEST
is($ed->{'trunk/filea'}{props}{'binary-prop'}, $BINARY_DATA,
'do_update: binary-prop');
# replay
$ed = MockEditor->new;
$ra->replay(1, 0, 1, $ed);
# TEST
is($ed->{trunk}{type}, 'dir', "replay: got trunk");
# TEST
is($ed->{trunk}{props}{'dir-prop'}, 'frob', 'replay: dir-prop');
# TEST
is($ed->{'trunk/filea'}{props}{'binary-prop'}, $BINARY_DATA,
'replay: binary-prop');
END {
diag "cleanup";
rmtree($repospath);
}
package MockEditor;
sub new { bless {}, shift }
sub set_target_revision {
my ($self, $revnum) = @_;
$self->{_target_revnum} = $revnum;
}
sub delete_entry {
my ($self, $path) = @_;
die "delete_entry called";
}
sub add_directory {
my ($self, $path, $baton) = @_;
return $self->{$path} = { type => 'dir' };
}
sub open_root {
my ($self, $base_revision, $dir_pool) = @_;
$self->{_base_revnum} = $base_revision;
return $self->{_root} = { type => 'root' };
}
sub open_directory {
my ($self, $path) = @_;
die "open_directory on file" unless $self->{$path}{type} eq 'dir';
return $self->{$path};
}
sub open_file {
my ($self, $path) = @_;
die "open_file on directory" unless $self->{$path}{type} eq 'file';
return $self->{$path};
}
sub change_dir_prop {
my ($self, $baton, $name, $value) = @_;
$baton->{props}{$name} = $value;
}
sub change_file_prop {
my ($self, $baton, $name, $value) = @_;
$baton->{props}{$name} = $value;
}
sub absent_directory {
my ($self, $path) = @_;
die "absent_directory called";
}
sub absent_file {
my ($self, $path) = @_;
die "absent_file called";
}
sub close_directory {
my ($self, $baton) = @_;
}
sub close_file {
my ($self, $baton) = @_;
( run in 1.089 second using v1.01-cache-2.11-cpan-39bf76dae61 )