#!/usr/bin/perl # Testing of META.yml containing AVAR's name use strict; BEGIN { $| = 1; $^W = 1; } use File::Spec::Functions ':ALL'; use t::lib::Test; use Test::More tests(0, 1, 5); use CPAN::Meta::YAML; ##################################################################### # Testing that Perl::Smith config files work my $sample_file = catfile( test_data_directory(), 'multibyte.yml' ); my $sample = load_ok( 'multibyte.yml', $sample_file, 450 ); # Does the string parse to the structure my $name = "multibyte"; my $yaml_copy = $sample; my $yaml = eval { CPAN::Meta::YAML->read_string( $yaml_copy ); }; is( $@, '', "$name: CPAN::Meta::YAML parses without error" ); is( $yaml_copy, $sample, "$name: CPAN::Meta::YAML does not modify the input string" ); SKIP: { skip( "Shortcutting after failure", 2 ) if $@; isa_ok( $yaml, 'CPAN::Meta::YAML' ); is_deeply( $yaml->[0]->{build_requires}, { 'Config' => 0, 'Test::More' => 0, 'XSLoader' => 0, }, 'build_requires ok' ); } SKIP: { unless ( CPAN::Meta::YAML::HAVE_UTF8() ) { skip("no utf8 support", 1 ); } eval { utf8::is_utf8('') }; if ( $@ ) { skip("no is_utf8 to test with until 5.8.1", 1); } ok( utf8::is_utf8($yaml->[0]->{author}), "utf8 decoded" ); }