diff options
Diffstat (limited to 'xt/cli/install.t')
-rw-r--r-- | xt/cli/install.t | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/xt/cli/install.t b/xt/cli/install.t new file mode 100644 index 0000000..926f3de --- /dev/null +++ b/xt/cli/install.t @@ -0,0 +1,56 @@ +use strict; +use Test::More; +use xt::CLI; + +subtest 'carton install with version range' => sub { + my $app = cli(); + $app->write_cpanfile(<<EOF); +requires 'CPAN::Test::Dummy::Perl5::Deps::VersionRange'; +EOF + + $app->run("install"); + $app->run("tree"); + like $app->stdout, qr/Try::Tiny/; + unlike $app->stderr, qr/Could not parse snapshot file/; +}; + +subtest 'meta info for ancient modules' => sub { + my $app = cli(); + $app->write_cpanfile(<<EOF); +requires 'Algorithm::Diff'; +EOF + + $app->run("install"); + $app->run("list"); + + like $app->stdout, qr/Algorithm-Diff/; +}; + +subtest 'meta info for modules with version->declare' => sub { + my $app = cli(); + $app->write_cpanfile(<<EOF); +requires 'CPAN::Test::Dummy::Perl5::VersionDeclare', 'v0.0.1'; +EOF + + $app->run("install"); + $app->run("check"); + + like $app->stdout, qr/are satisfied/; + unlike $app->stderr, qr/is not installed/; +}; + +subtest 'meta info for modules with qv()' => sub { + my $app = cli(); + $app->write_cpanfile(<<EOF); +requires 'CPAN::Test::Dummy::Perl5::VersionQV', 'v0.1.0'; +EOF + + $app->run("install"); + $app->run("check"); + + like $app->stdout, qr/are satisfied/; + unlike $app->stderr, qr/is not installed/; +}; + +done_testing; + |