summaryrefslogtreecommitdiff
path: root/t/from_prereqs.t
diff options
context:
space:
mode:
Diffstat (limited to 't/from_prereqs.t')
-rw-r--r--t/from_prereqs.t36
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;