diff options
| author | Geert Hauwaerts | 2015-01-31 12:56:39 +0100 |
|---|---|---|
| committer | Geert Hauwaerts | 2015-01-31 12:56:39 +0100 |
| commit | 0a864038286abf4086b3ca3cba7ee401396002fa (patch) | |
| tree | 9c9a1f817c4571516767b8c1a9cff327efd26ab6 /_testing/_irssi_test.pl | |
| parent | 250f672c52aa04d3b026d13ff4aa8c94c8c6aac4 (diff) | |
| parent | 5996cf5285d66ae8a1ff3ad8a88651753988a4b9 (diff) | |
| download | scripts.irssi.org-0a864038286abf4086b3ca3cba7ee401396002fa.tar.bz2 | |
Merge pull request #126 from ailin-nemui/fix_versions
Correctly preserve non-numeric version numbers
Diffstat (limited to '_testing/_irssi_test.pl')
| -rw-r--r-- | _testing/_irssi_test.pl | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/_testing/_irssi_test.pl b/_testing/_irssi_test.pl index 1da8f59..bcfcb3c 100644 --- a/_testing/_irssi_test.pl +++ b/_testing/_irssi_test.pl @@ -18,6 +18,21 @@ Irssi::command('^window log off'); my ($package) = grep { !/^_/ } keys %Irssi::Script::; require YAML::Tiny; +YAML::Tiny->VERSION("1.59"); +require Encode; +{ + # This is an ugly hack to be `lax' about the encoding. We try to + # read everything as UTF-8 regardless of declared file encoding + # and fall back to Latin-1. + my $orig = YAML::Tiny->can("_has_internal_string_value"); + *YAML::Tiny::_has_internal_string_value = sub { + my $ret = $orig->(@_); + use bytes; + $_[0] = Encode::decode_utf8($_[0], sub{pack 'U', +shift}) + unless Encode::is_utf8($_[0]); + $ret + } +} require Module::CoreList; require CPAN::Meta::Requirements; require Perl::PrereqScanner; @@ -32,8 +47,7 @@ my (%info, $version); unless (defined $package) { my %fail = (failed => 1, name => $CURRENT_SCRIPT); $fail{modules} = \@modules if @modules; - { open my $ef, '>:utf8', "failed.yml"; - print $ef YAML::Tiny::Dump([\%fail]); } + YAML::Tiny::DumpFile("failed.yml", [\%fail]); # Grep for the code instead require PPI; require PPIx::XPath; @@ -74,5 +88,4 @@ if ($loginfo) { } $info{modules} = \@modules if @modules; $info{default_package} = $package =~ s/::$//r if $package; -{ open my $ef, '>:utf8', "info.yml"; - print $ef YAML::Tiny::Dump([\%info]); } +YAML::Tiny::DumpFile("info.yml", [\%info]); |
