Lines Matching +full:meta +full:- +full:spec
5 use CPAN::Meta;
15 name => 'Module-Build',
23 'Module-Build List <module-build@perl.org>', # additional contact
40 'File::Spec' => '0',
70 keywords => [ qw/ toolchain cpan dual-life / ],
71 'meta-spec' => {
73 url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
80 my $meta = CPAN::Meta->new(dclone $distmeta);
83 blessed($meta->as_struct),
85 "the result of ->as_struct is unblessed",
88 is_deeply( $meta->as_struct, $distmeta, "->as_struct (deep comparison)" );
89 isnt( $meta->as_struct, $distmeta, "->as_struct (is a deep clone)" );
91 my $old_copy = $meta->as_struct( {version => "1.4"} );
92 is( $old_copy->{'meta-spec'}{version}, "1.4", "->as_struct (downconversion)" );
94 isnt( $meta->resources, $meta->{resources}, "->resource (map values are deep cloned)");
96 is($meta->name, 'Module-Build', '->name');
97 is($meta->abstract, 'Build and install Perl modules', '->abstract');
99 like($meta->description, qr/Module::Build.+blah blah blah/, '->description');
101 is($meta->version, '0.36', '->version');
103 ok($meta->dynamic_config, "->dynamic_config");
106 [ $meta->author ],
109 'Module-Build List <module-build@perl.org>',
111 '->author',
115 [ $meta->authors ],
118 'Module-Build List <module-build@perl.org>',
120 '->authors',
124 [ $meta->license ],
126 '->license',
130 [ $meta->licenses ],
132 '->licenses',
136 [ $meta->keywords ],
137 [ qw/ toolchain cpan dual-life / ],
138 '->keywords',
142 $meta->resources,
144 '->resources',
148 $meta->meta_spec,
151 url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
153 '->meta_spec',
156 is($meta->meta_spec_version, '2', '->meta_spec_version');
158 like($meta->generated_by, qr/Module::Build version 0.36/, '->generated_by');
160 my $basic = $meta->effective_prereqs;
163 $basic->as_string_hash,
164 $distmeta->{prereqs},
165 "->effective_prereqs()"
168 is_deeply( [ sort $meta->custom_keys ] , [ 'X_deep', 'x_authority' ],
169 "->custom_keys"
172 is( $meta->custom('x_authority'), 'cpan:FLORA', "->custom(X)" );
174 is_deeply( $meta->custom('X_deep'), $distmeta->{'X_deep'},
175 "->custom(X) [is_deeply]"
178 isnt( $meta->custom('X_deep'), $distmeta->{'X_deep'},
179 "->custom(x) [is a deep clone]"
182 my $with_features = $meta->effective_prereqs([ qw(domination) ]);
185 $with_features->as_string_hash,
200 'File::Spec' => '0',
218 "->effective_prereqs([ qw(domination) ])"
224 isa_ok($feature, 'CPAN::Meta::Feature');
226 is($feature->identifier, 'domination', '$feature->identifier');
227 is($feature->description, 'Take over the world', '$feature->description');
230 $feature->prereqs->as_string_hash,
235 '$feature->prereqs',
239 my @features = $meta->features;
241 $chk_feature->($features[0]);
243 $chk_feature->( $meta->feature('domination') );
251 $string =~ s/\$VERSION/$CPAN::Meta::VERSION/g;
263 clean_backends($meta->as_string()),
264 clean_backends(read_file('t/data-valid/META-2.json')),
269 clean_backends($meta->as_string({ version => 2 })),
270 clean_backends(read_file('t/data-valid/META-2.json')),
275 clean_backends($meta->as_string({ version => 1.4 })),
276 clean_backends(read_file('t/data-valid/META-1_4.yml')),