diff options
Diffstat (limited to 't/from_prereqs.t')
-rw-r--r-- | t/from_prereqs.t | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/from_prereqs.t b/t/from_prereqs.t new file mode 100644 index 0000000..eaaf984 --- /dev/null +++ b/t/from_prereqs.t @@ -0,0 +1,36 @@ +use strict; +use Test::More; + +use Module::CPANfile; +use t::Utils; + +{ + my $r = write_cpanfile(<<FILE); +requires 'perl', '5.008001'; +requires 'DBI'; +requires 'Plack', '1.0001'; +test_requires 'Test::More', '0.90, != 0.91'; +FILE + + my $prereqs = Module::CPANfile->load->prereqs; + my $file = Module::CPANfile->from_prereqs($prereqs->as_string_hash); + + is_deeply $file->prereq_specs, $prereqs->as_string_hash; + + is $file->to_string, <<FILE; +requires 'DBI'; +requires 'Plack', '1.0001'; +requires 'perl', '5.008001'; + +on test => sub { + requires 'Test::More', '>= 0.90, != 0.91'; +}; +FILE + + $file->save('cpanfile'); + + my $content = do { local $/; open my $in, 'cpanfile'; <$in> }; + is $content, $file->to_string; +} + +done_testing; |