App-Adenosine
view release on metacpan or search on metacpan
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Deep;
use Test::Fatal;
use Cwd;
$ENV{PATH} = $^O eq 'MSWin32' ? "t/bin;$ENV{PATH}" : "t/bin:$ENV{PATH}" ;
$ENV{EDITOR} = 'bluh';
$ENV{HOME} ||= getcwd;
my $c = "$ENV{HOME}/.resty/c/google.com";
$c =~ s(/)(\\)g if $^O eq 'MSWin32';
my @noxdg = (enable_xdg => 0);
subtest 'plugins must be an arrayref' => sub {
like(exception {
TestAdenosine->new({
argv => ['http://google.com'],
plugins => 'fail',
@noxdg
})
}, qr/plugins must be an arrayref/, 'scalar');
like(exception {
TestAdenosine->new({
argv => ['http://google.com'],
plugins => {},
@noxdg
})
}, qr/plugins must be an arrayref/, 'hashref');
};
TestAdenosine->new({ argv => ['http://google.com'], @noxdg });
is($TestAdenosine::stdout, "http://google.com*\n", 'http no *');
is($TestAdenosine::uri_base, "http://google.com*", 'uri_base set');
cmp_deeply(\@TestAdenosine::extra_options, [], 'extra options set');
TestAdenosine->new({ argv => ['google.com', '-v', '-H', 'Foo: Bar'], @noxdg });
is($TestAdenosine::stdout, "http://google.com*\n", 'just domain');
is($TestAdenosine::uri_base, "http://google.com*", 'uri_base set');
cmp_deeply(\@TestAdenosine::extra_options, ['-v', '-H', 'Foo: Bar'], 'extra options set');
TestAdenosine->new({
argv => [],
plugins => [Plugin1->new],
@noxdg,
});
is($TestAdenosine::stdout, "http://google.com*\n", 'no args');
cmp_deeply(\@TestAdenosine::extra_options, ['-v', '-H', 'Foo: Bar'], 'extra options remain');
TestAdenosine->new({
argv => ['https://google.com/user/*/1'],
plugins => [qw(Plugin1)],
@noxdg,
});
is($TestAdenosine::stdout, "https://google.com/user/*/1\n", 'https + *');
is($TestAdenosine::uri_base, "https://google.com/user/*/1", 'uri_base set');
cmp_deeply(\@TestAdenosine::extra_options, [], 'extra options cleared');
$TestAdenosine::curl_stderr = <<'BLUUU';
* About to connect() to google.com port 80 (#0)
* Trying 167.10.21.20... connected
> HEAD / HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: google.com
> Accept: */*
>
( run in 2.179 seconds using v1.01-cache-2.11-cpan-54e63673c56 )