Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
27
t/Git-SVN/Utils/add_path_to_url.t
Executable file
27
t/Git-SVN/Utils/add_path_to_url.t
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
use Git::SVN::Utils qw(
|
||||
add_path_to_url
|
||||
);
|
||||
|
||||
# A reference cannot be a hash key, so we use an array.
|
||||
my @tests = (
|
||||
["http://x.com", "bar"] => 'http://x.com/bar',
|
||||
["http://x.com", ""] => 'http://x.com',
|
||||
["http://x.com/foo/", undef] => 'http://x.com/foo/',
|
||||
["http://x.com/foo/", "/bar/baz/"] => 'http://x.com/foo/bar/baz/',
|
||||
["http://x.com", 'per%cent'] => 'http://x.com/per%25cent',
|
||||
);
|
||||
|
||||
while(@tests) {
|
||||
my($have, $want) = splice @tests, 0, 2;
|
||||
|
||||
my $args = join ", ", map { qq['$_'] } map { defined($_) ? $_ : 'undef' } @$have;
|
||||
my $name = "add_path_to_url($args) eq $want";
|
||||
is add_path_to_url(@$have), $want, $name;
|
||||
}
|
||||
11
t/Git-SVN/Utils/can_compress.t
Executable file
11
t/Git-SVN/Utils/can_compress.t
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
use Git::SVN::Utils qw(can_compress);
|
||||
|
||||
# !! is the "convert this to boolean" operator.
|
||||
is !!can_compress(), !!eval { require Compress::Zlib };
|
||||
26
t/Git-SVN/Utils/canonicalize_url.t
Executable file
26
t/Git-SVN/Utils/canonicalize_url.t
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
# Test our own home rolled URL canonicalizer. Test the private one
|
||||
# directly because we can't predict what the SVN API is doing to do.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
use Git::SVN::Utils;
|
||||
my $canonicalize_url = \&Git::SVN::Utils::_canonicalize_url_ourselves;
|
||||
|
||||
my %tests = (
|
||||
"http://x.com" => "http://x.com",
|
||||
"http://x.com/" => "http://x.com",
|
||||
"http://x.com/foo/bar" => "http://x.com/foo/bar",
|
||||
"http://x.com//foo//bar//" => "http://x.com/foo/bar",
|
||||
"http://x.com/ /%/" => "http://x.com/%20%20/%25",
|
||||
);
|
||||
|
||||
for my $arg (keys %tests) {
|
||||
my $want = $tests{$arg};
|
||||
|
||||
is $canonicalize_url->($arg), $want, "canonicalize_url('$arg') => $want";
|
||||
}
|
||||
23
t/Git-SVN/Utils/collapse_dotdot.t
Executable file
23
t/Git-SVN/Utils/collapse_dotdot.t
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
use Git::SVN::Utils;
|
||||
my $collapse_dotdot = \&Git::SVN::Utils::_collapse_dotdot;
|
||||
|
||||
my %tests = (
|
||||
"foo/bar/baz" => "foo/bar/baz",
|
||||
".." => "..",
|
||||
"foo/.." => "",
|
||||
"/foo/bar/../../baz" => "/baz",
|
||||
"deeply/.././deeply/nested" => "./deeply/nested",
|
||||
);
|
||||
|
||||
for my $arg (keys %tests) {
|
||||
my $want = $tests{$arg};
|
||||
|
||||
is $collapse_dotdot->($arg), $want, "_collapse_dotdot('$arg') => $want";
|
||||
}
|
||||
34
t/Git-SVN/Utils/fatal.t
Executable file
34
t/Git-SVN/Utils/fatal.t
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
BEGIN {
|
||||
# Override exit at BEGIN time before Git::SVN::Utils is loaded
|
||||
# so it will see our local exit later.
|
||||
*CORE::GLOBAL::exit = sub(;$) {
|
||||
return @_ ? CORE::exit($_[0]) : CORE::exit();
|
||||
};
|
||||
}
|
||||
|
||||
use Git::SVN::Utils qw(fatal);
|
||||
|
||||
# fatal()
|
||||
{
|
||||
# Capture the exit code and prevent exit.
|
||||
my $exit_status;
|
||||
no warnings 'redefine';
|
||||
local *CORE::GLOBAL::exit = sub { $exit_status = $_[0] || 0 };
|
||||
|
||||
# Trap fatal's message to STDERR
|
||||
my $stderr;
|
||||
close STDERR;
|
||||
ok open STDERR, ">", \$stderr;
|
||||
|
||||
fatal "Some", "Stuff", "Happened";
|
||||
|
||||
is $stderr, "Some Stuff Happened\n";
|
||||
is $exit_status, 1;
|
||||
}
|
||||
32
t/Git-SVN/Utils/join_paths.t
Executable file
32
t/Git-SVN/Utils/join_paths.t
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More 'no_plan';
|
||||
|
||||
use Git::SVN::Utils qw(
|
||||
join_paths
|
||||
);
|
||||
|
||||
# A reference cannot be a hash key, so we use an array.
|
||||
my @tests = (
|
||||
[] => '',
|
||||
["/x.com", "bar"] => '/x.com/bar',
|
||||
["x.com", ""] => 'x.com',
|
||||
["/x.com/foo/", undef, "bar"] => '/x.com/foo/bar',
|
||||
["x.com/foo/", "/bar/baz/"] => 'x.com/foo/bar/baz/',
|
||||
["foo", "bar"] => 'foo/bar',
|
||||
["/foo/bar", "baz", "/biff"] => '/foo/bar/baz/biff',
|
||||
["", undef, "."] => '.',
|
||||
[] => '',
|
||||
|
||||
);
|
||||
|
||||
while(@tests) {
|
||||
my($have, $want) = splice @tests, 0, 2;
|
||||
|
||||
my $args = join ", ", map { qq['$_'] } map { defined($_) ? $_ : 'undef' } @$have;
|
||||
my $name = "join_paths($args) eq '$want'";
|
||||
is join_paths(@$have), $want, $name;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue