From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

Build.PL 940
Changes 09
INSTALL 1010
LICENSE 33
MANIFEST 616
MANIFEST.SKIP 063
META.json 156200
META.yml 133167
Makefile.PL 0113
README 1512
dist.ini 034
lib/HTML/FormatMarkdown.pm 2811
lib/HTML/FormatPS.pm 2712
lib/HTML/FormatRTF.pm 2612
lib/HTML/FormatText.pm 2710
lib/HTML/Formatter.pm 1946
t/00-report-prereqs.dd 068
t/00-report-prereqs.t 0183
t/000-report-versions.t 4470
t/01_ps.t 119
t/02_rtf.t 108
t/03_text.t 1211
t/04_md.t 108
t/author-critic.t 22
t/author-eol.t 412
t/author-no-tabs.t 163
t/author-pod-spell.t 1616
t/author-pod-syntax.t 015
t/author-portability.t 018
t/author-synopsis.t 013
t/data/expected/unicode.md 025
t/data/expected/unicode.ps 00
t/data/expected/unicode.rtf 00
t/data/expected/unicode.txt 025
t/data/in/unicode.html 025
t/lib/Test/HTML/Formatter.pm 034
t/release-dist-manifest.t 22
t/release-distmeta.t 22
t/release-has-version.t 22
t/release-minimum-version.t 22
t/release-pod-syntax.t 140
t/release-portability.t 200
t/release-synopsis.t 130
t/release-unused-vars.t 22
t/rt111783.t 016
t/support/generate_results.pl 12
46 files changed (This is a version diff) 11301221
@@ -1,94 +0,0 @@
-
-# This file was automatically generated by Dist::Zilla::Plugin::ModuleBuild v5.039.
-use strict;
-use warnings;
-
-use Module::Build 0.28;
-
-
-my %module_build_args = (
- "build_requires" => {
- "Module::Build" => "0.28",
- "Test::CPAN::Meta" => 0,
- "Test::EOL" => 0,
- "Test::NoTabs" => 0
- },
- "configure_requires" => {
- "Module::Build" => "0.28"
- },
- "dist_abstract" => "Base class for HTML formatters",
- "dist_author" => [
- "Nigel Metheringham <nigelm\@cpan.org>",
- "Sean M Burke <sburke\@cpan.org>",
- "Gisle Aas <gisle\@ActiveState.com>"
- ],
- "dist_name" => "HTML-Formatter",
- "dist_version" => "2.14",
- "license" => "perl",
- "module_name" => "HTML::Formatter",
- "recursive_test_files" => 1,
- "requires" => {
- "Carp" => 0,
- "Data::Dumper" => 0,
- "Encode" => 0,
- "Font::Metrics::Courier" => 0,
- "Font::Metrics::CourierBold" => 0,
- "Font::Metrics::CourierBoldOblique" => 0,
- "Font::Metrics::CourierOblique" => 0,
- "Font::Metrics::Helvetica" => 0,
- "Font::Metrics::HelveticaBold" => 0,
- "Font::Metrics::HelveticaBoldOblique" => 0,
- "Font::Metrics::HelveticaOblique" => 0,
- "Font::Metrics::TimesBold" => 0,
- "Font::Metrics::TimesBoldItalic" => 0,
- "Font::Metrics::TimesItalic" => 0,
- "Font::Metrics::TimesRoman" => 0,
- "HTML::Element" => "3.15",
- "HTML::TreeBuilder" => 0,
- "IO::File" => 0,
- "base" => 0,
- "integer" => 0,
- "parent" => 0,
- "perl" => "5.008",
- "strict" => 0,
- "utf8" => 0,
- "warnings" => 0
- },
- "test_requires" => {
- "File::Slurper" => 0,
- "File::Spec" => 0,
- "IO::Handle" => 0,
- "IPC::Open3" => 0,
- "Scalar::Util" => 0,
- "Test::More" => "0.96",
- "blib" => "1.01",
- "bytes" => 0
- }
-);
-
-
-my %fallback_build_requires = (
- "File::Slurper" => 0,
- "File::Spec" => 0,
- "IO::Handle" => 0,
- "IPC::Open3" => 0,
- "Module::Build" => "0.28",
- "Scalar::Util" => 0,
- "Test::CPAN::Meta" => 0,
- "Test::EOL" => 0,
- "Test::More" => "0.96",
- "Test::NoTabs" => 0,
- "blib" => "1.01",
- "bytes" => 0
-);
-
-
-unless ( eval { Module::Build->VERSION(0.4004) } ) {
- delete $module_build_args{test_requires};
- $module_build_args{build_requires} = \%fallback_build_requires;
-}
-
-my $build = Module::Build->new(%module_build_args);
-
-
-$build->create_build_script;
@@ -1,3 +1,12 @@
+2.16 2016-12-07 09:12:41+00:00 Europe/London
+ - Public release after a period on test with the smokers
+
+2.15 2016-12-01 15:40:16+00:00 Europe/London (TRIAL RELEASE)
+ - Deal with some relatively harmless test failures
+ - RT#11783 fixes for Markdown fragment issues
+ - Series of changes for UTF support from Sam Kington
+ - Better travis handling
+
2.14 2015-10-13 14:46:01+01:00 Europe/London
- Added Travis CI status to main documentation
- First official release under new distribution name following trial release.
@@ -8,10 +8,10 @@ If you have cpanm, you only need one line:
% cpanm HTML::Formatter
-If you are installing into a system-wide directory, you may need to pass the
-"-S" flag to cpanm, which uses sudo to install the module:
-
- % cpanm -S HTML::Formatter
+If it does not have permission to install modules to the current perl, cpanm
+will automatically set up and install to a local::lib in your home directory.
+See the local::lib documentation (https://metacpan.org/pod/local::lib) for
+details on enabling it in your environment.
## Installing with the CPAN shell
@@ -24,16 +24,16 @@ Alternatively, if your CPAN shell is set up, you should just be able to do:
As a last resort, you can manually install it. Download the tarball, untar it,
then build it:
- % perl Build.PL
- % ./Build && ./Build test
+ % perl Makefile.PL
+ % make && make test
Then install it:
- % ./Build install
-
-If you are installing into a system-wide directory, you may need to run:
+ % make install
- % sudo ./Build install
+If your perl is system-managed, you can create a local::lib in your home
+directory to install modules to. For details, see the local::lib documentation:
## Documentation
@@ -1,4 +1,4 @@
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
--- The GNU General Public License, Version 1, February 1989 ---
-This software is Copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is Copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software, licensed under:
@@ -272,7 +272,7 @@ That's all there is to it!
--- The Artistic License 1.0 ---
-This software is Copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is Copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software, licensed under:
@@ -1,19 +1,22 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.039.
-Build.PL
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.007.
Changes
INSTALL
LICENSE
MANIFEST
+MANIFEST.SKIP
META.json
META.yml
+Makefile.PL
README
+dist.ini
lib/HTML/FormatMarkdown.pm
lib/HTML/FormatPS.pm
lib/HTML/FormatRTF.pm
lib/HTML/FormatText.pm
lib/HTML/Formatter.pm
t/00-compile.t
-t/000-report-versions.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
t/01_ps.t
t/02_rtf.t
t/03_text.t
@@ -22,18 +25,25 @@ t/author-critic.t
t/author-eol.t
t/author-no-tabs.t
t/author-pod-spell.t
+t/author-pod-syntax.t
+t/author-portability.t
+t/author-synopsis.t
t/data/expected/test.md
t/data/expected/test.ps
t/data/expected/test.rtf
t/data/expected/test.txt
+t/data/expected/unicode.md
+t/data/expected/unicode.ps
+t/data/expected/unicode.rtf
+t/data/expected/unicode.txt
t/data/in/test.html
+t/data/in/unicode.html
+t/lib/Test/HTML/Formatter.pm
t/release-dist-manifest.t
t/release-distmeta.t
t/release-has-version.t
t/release-minimum-version.t
-t/release-pod-syntax.t
-t/release-portability.t
-t/release-synopsis.t
t/release-unused-vars.t
+t/rt111783.t
t/rt69426.t
t/support/generate_results.pl
@@ -0,0 +1,63 @@
+# Avoid version control files.
+\bRCS\b
+\bCVS\b
+\bSCCS\b
+,v$
+\B\.svn\b
+\B\.git\b
+\B\.gitignore\b
+\b_darcs\b
+\B\.cvsignore$
+
+# Avoid VMS specific MakeMaker generated files
+\bDescrip.MMS$
+\bDESCRIP.MMS$
+\bdescrip.mms$
+
+# Avoid Makemaker generated and utility files.
+\bMANIFEST\.bak
+\bMakefile$
+\bblib/
+\bMakeMaker-\d
+\bpm_to_blib\.ts$
+\bpm_to_blib$
+\bblibdirs\.ts$ # 6.18 through 6.25 generated this
+\b_eumm/ # 7.05_05 and above
+
+# Avoid Module::Build generated and utility files.
+\bBuild$
+\b_build/
+\bBuild.bat$
+\bBuild.COM$
+\bBUILD.COM$
+\bbuild.com$
+
+# and Module::Build::Tiny generated files
+\b_build_params$
+
+# Avoid temp and backup files.
+~$
+\.old$
+\#$
+\b\.#
+\.bak$
+\.tmp$
+\.#
+\.rej$
+\..*\.sw.?$
+
+# Avoid OS-specific files/dirs
+# Mac OSX metadata
+\B\.DS_Store
+# Mac OSX SMB mount metadata files
+\B\._
+
+# Avoid Devel::Cover and Devel::CoverX::Covered files.
+\bcover_db\b
+\bcovered\b
+
+# Avoid prove files
+\B\.prove$
+
+# Avoid MYMETA files
+\bMYMETA\.
@@ -6,7 +6,7 @@
"Gisle Aas <gisle@ActiveState.com>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.039, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Zilla version 6.007, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -16,17 +16,9 @@
},
"name" : "HTML-Formatter",
"prereqs" : {
- "build" : {
- "requires" : {
- "Module::Build" : "0.28",
- "Test::CPAN::Meta" : "0",
- "Test::EOL" : "0",
- "Test::NoTabs" : "0"
- }
- },
"configure" : {
"requires" : {
- "Module::Build" : "0.28"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
@@ -36,6 +28,7 @@
"Test::More" : "0.88",
"Test::NoTabs" : "0",
"Test::Pod" : "1.41",
+ "Test::Portability::Files" : "0",
"Test::Spelling" : "0.12",
"Test::Synopsis" : "0"
}
@@ -70,38 +63,44 @@
}
},
"test" : {
+ "recommends" : {
+ "CPAN::Meta" : "2.120900"
+ },
"requires" : {
+ "ExtUtils::MakeMaker" : "0",
"File::Slurper" : "0",
"File::Spec" : "0",
+ "FindBin" : "0",
"IO::Handle" : "0",
"IPC::Open3" : "0",
- "Scalar::Util" : "0",
"Test::More" : "0.96",
+ "Test::Warnings" : "0",
"blib" : "1.01",
- "bytes" : "0"
+ "bytes" : "0",
+ "lib" : "0"
}
}
},
"provides" : {
"HTML::FormatMarkdown" : {
"file" : "lib/HTML/FormatMarkdown.pm",
- "version" : "2.14"
+ "version" : "2.16"
},
"HTML::FormatPS" : {
"file" : "lib/HTML/FormatPS.pm",
- "version" : "2.14"
+ "version" : "2.16"
},
"HTML::FormatRTF" : {
"file" : "lib/HTML/FormatRTF.pm",
- "version" : "2.14"
+ "version" : "2.16"
},
"HTML::FormatText" : {
"file" : "lib/HTML/FormatText.pm",
- "version" : "2.14"
+ "version" : "2.16"
},
"HTML::Formatter" : {
"file" : "lib/HTML/Formatter.pm",
- "version" : "2.14"
+ "version" : "2.16"
}
},
"release_status" : "stable",
@@ -117,10 +116,10 @@
}
},
- "version" : "2.14",
+ "version" : "2.16",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.022000"
+ "version" : "5.024000"
},
"plugins" : [
{
@@ -136,7 +135,7 @@
}
},
"name" : "@NIGELM/Git::NextVersion",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
@@ -159,7 +158,7 @@
}
},
"name" : "@NIGELM/Git::Check",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
@@ -190,18 +189,21 @@
"follow_symlinks" : 0,
"include_dotfiles" : 0,
"prefix" : "",
- "prune_directory" : [],
+ "prune_directory" : [
+ "local",
+ "vendor"
+ ],
"root" : "."
}
},
"name" : "@NIGELM/GatherDir",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::Test::Compile",
"config" : {
"Dist::Zilla::Plugin::Test::Compile" : {
- "bail_out_on_fail" : "0",
+ "bail_out_on_fail" : 0,
"fail_on_warning" : "author",
"fake_home" : 0,
"filename" : "t/00-compile.t",
@@ -227,27 +229,43 @@
{
"class" : "Dist::Zilla::Plugin::MetaTests",
"name" : "@NIGELM/MetaTests",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@NIGELM/PodSyntaxTests",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::PodSpelling" : {
+ "directories" : [
+ "bin",
+ "lib"
+ ],
+ "spell_cmd" : "",
+ "stopwords" : [],
+ "wordlist" : "Pod::Wordlist"
+ }
+ },
"name" : "@NIGELM/Test::PodSpelling",
- "version" : "2.006009"
+ "version" : "2.007003"
},
{
"class" : "Dist::Zilla::Plugin::Test::Portability",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::Portability" : {
+ "options" : ""
+ }
+ },
"name" : "@NIGELM/Test::Portability",
- "version" : "2.000006"
+ "version" : "2.001000"
},
{
"class" : "Dist::Zilla::Plugin::Test::Synopsis",
"name" : "@NIGELM/Test::Synopsis",
- "version" : "2.000006"
+ "version" : "2.000007"
},
{
"class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
@@ -270,89 +288,64 @@
"version" : "2.000007"
},
{
- "class" : "Dist::Zilla::Plugin::Test::NoTabs",
- "config" : {
- "Dist::Zilla::Plugin::Test::NoTabs" : {
- "filename" : "xt/author/no-tabs.t",
- "finder" : [
- ":InstallModules",
- ":ExecFiles",
- ":TestFiles"
- ]
- }
- },
- "name" : "@NIGELM/Test::NoTabs",
- "version" : "0.15"
- },
- {
"class" : "Dist::Zilla::Plugin::Test::EOL",
"config" : {
"Dist::Zilla::Plugin::Test::EOL" : {
"filename" : "xt/author/eol.t",
"finder" : [
- ":InstallModules",
":ExecFiles",
+ ":InstallModules",
":TestFiles"
],
- "trailing_whitespace" : "0"
+ "trailing_whitespace" : 0
}
},
"name" : "@NIGELM/Test::EOL",
- "version" : "0.18"
+ "version" : "0.19"
},
{
- "class" : "Dist::Zilla::Plugin::InlineFiles",
- "name" : "@NIGELM/InlineFiles",
- "version" : "5.039"
+ "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+ "name" : "@NIGELM/Test::ReportPrereqs",
+ "version" : "0.025"
},
{
- "class" : "Dist::Zilla::Plugin::ReportVersions",
- "name" : "@NIGELM/ReportVersions",
- "version" : "1.110730"
+ "class" : "Dist::Zilla::Plugin::InlineFiles",
+ "name" : "@NIGELM/InlineFiles",
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@NIGELM/PruneCruft",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::PruneFiles",
"name" : "@NIGELM/PruneFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@NIGELM/ManifestSkip",
- "version" : "5.039"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs",
- "config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "build",
- "type" : "requires"
- }
- },
- "name" : "@NIGELM/Prereqs",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@NIGELM/AutoPrereqs",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@NIGELM/MetaConfig",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::MetaProvides::Class",
"config" : {
"Dist::Zilla::Role::MetaProvider::Provider" : {
- "inherit_missing" : "1",
- "inherit_version" : "1",
- "meta_noindex" : "1"
+ "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002003",
+ "inherit_missing" : 1,
+ "inherit_version" : 1,
+ "meta_noindex" : 1
}
},
"name" : "@NIGELM/MetaProvides::Class",
@@ -366,23 +359,29 @@
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : "@NIGELM/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "5.039"
+ "version" : "6.007"
}
- ]
+ ],
+ "include_underscores" : 0
},
"Dist::Zilla::Role::MetaProvider::Provider" : {
- "inherit_missing" : "1",
- "inherit_version" : "1",
- "meta_noindex" : "1"
+ "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002003",
+ "inherit_missing" : 1,
+ "inherit_version" : 1,
+ "meta_noindex" : 1
+ },
+ "Dist::Zilla::Role::ModuleMetadata" : {
+ "Module::Metadata" : "1.000031",
+ "version" : "0.004"
}
},
"name" : "@NIGELM/MetaProvides::Package",
- "version" : "2.003001"
+ "version" : "2.004002"
},
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "@NIGELM/MetaResources",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::Authority",
@@ -392,24 +391,24 @@
{
"class" : "Dist::Zilla::Plugin::ExtraTests",
"name" : "@NIGELM/ExtraTests",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@NIGELM/NextRelease",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::OurPkgVersion",
"name" : "@NIGELM/OurPkgVersion",
- "version" : "0.06"
+ "version" : "0.10"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
"config" : {
"Dist::Zilla::Plugin::PodWeaver" : {
"config_plugins" : [
- "@MARCEL"
+ "@DAGOLDEN"
],
"finder" : [
":InstallModules",
@@ -417,125 +416,155 @@
],
"plugins" : [
{
+ "class" : "Pod::Weaver::Plugin::SingleEncoding",
+ "name" : "@DAGOLDEN/SingleEncoding",
+ "version" : "4.014"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::WikiDoc",
+ "name" : "@DAGOLDEN/WikiDoc",
+ "version" : "0.093004"
+ },
+ {
"class" : "Pod::Weaver::Plugin::EnsurePod5",
"name" : "@CorePrep/EnsurePod5",
- "version" : "4.012"
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Plugin::H1Nester",
"name" : "@CorePrep/H1Nester",
- "version" : "4.012"
+ "version" : "4.014"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Name",
+ "name" : "@DAGOLDEN/Name",
+ "version" : "4.014"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Version",
+ "name" : "@DAGOLDEN/Version",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Region",
- "name" : "@Default/prelude",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Prelude",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Name",
- "name" : "@Default/Name",
- "version" : "4.012"
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@DAGOLDEN/Synopsis",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Version",
- "name" : "@Default/Version",
- "version" : "4.012"
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@DAGOLDEN/Description",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Generic",
- "name" : "SYNOPSIS",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Usage",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Generic",
- "name" : "DESCRIPTION",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Overview",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Generic",
- "name" : "OVERVIEW",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Stability",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Collect",
- "name" : "ATTRIBUTES",
- "version" : "4.012"
+ "name" : "Requirements",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Collect",
- "name" : "METHODS",
- "version" : "4.012"
+ "name" : "Attributes",
+ "version" : "4.014"
},
{
"class" : "Pod::Weaver::Section::Collect",
- "name" : "FUNCTIONS",
- "version" : "4.012"
+ "name" : "Constructors",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Leftovers",
- "name" : "@Default/Leftovers",
- "version" : "4.012"
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "Methods",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Region",
- "name" : "@Default/postlude",
- "version" : "4.012"
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "Functions",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Installation",
- "name" : "@Default/Installation",
- "version" : "1.101421"
+ "class" : "Pod::Weaver::Section::Leftovers",
+ "name" : "@DAGOLDEN/Leftovers",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::BugsAndLimitations",
- "name" : "@Default/BugsAndLimitations",
- "version" : "1.20"
+ "class" : "Pod::Weaver::Section::Region",
+ "name" : "@DAGOLDEN/postlude",
+ "version" : "4.014"
},
{
- "class" : "Pod::Weaver::Section::Availability",
- "name" : "@Default/Availability",
- "version" : "1.20"
+ "class" : "Pod::Weaver::Section::Support",
+ "name" : "@DAGOLDEN/Support",
+ "version" : "1.007"
},
{
"class" : "Pod::Weaver::Section::Authors",
- "name" : "@Default/Authors",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Authors",
+ "version" : "4.014"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Contributors",
+ "name" : "@DAGOLDEN/Contributors",
+ "version" : "0.009"
},
{
"class" : "Pod::Weaver::Section::Legal",
- "name" : "@Default/Legal",
- "version" : "4.012"
+ "name" : "@DAGOLDEN/Legal",
+ "version" : "4.014"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::Transformer",
+ "name" : "@DAGOLDEN/List",
+ "version" : "4.014"
}
]
}
},
"name" : "@NIGELM/PodWeaver",
- "version" : "4.006"
+ "version" : "4.008"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@NIGELM/License",
- "version" : "5.039"
+ "version" : "6.007"
},
{
- "class" : "Dist::Zilla::Plugin::ModuleBuild",
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
"config" : {
"Dist::Zilla::Role::TestRunner" : {
"default_jobs" : 1
}
},
- "name" : "@NIGELM/ModuleBuild",
- "version" : "5.039"
+ "name" : "@NIGELM/MakeMaker",
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@NIGELM/MetaYAML",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@NIGELM/MetaJSON",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -545,7 +574,7 @@
}
},
"name" : "@NIGELM/ReadmeTextInBuild",
- "version" : "0.150250"
+ "version" : "0.161170"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -555,17 +584,17 @@
}
},
"name" : "@NIGELM/ReadmePodInRoot",
- "version" : "0.150250"
+ "version" : "0.161170"
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
"name" : "@NIGELM/InstallGuide",
- "version" : "1.200006"
+ "version" : "1.200007"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@NIGELM/Manifest",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -592,7 +621,7 @@
}
},
"name" : "@NIGELM/Git::Commit",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -601,7 +630,7 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "release/2.14",
+ "tag" : "release/2.16",
"tag_format" : "release/%v%t",
"tag_message" : "Release of %v%t"
},
@@ -613,7 +642,7 @@
}
},
"name" : "@NIGELM/Git::Tag",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Git::CommitBuild",
@@ -631,7 +660,7 @@
}
},
"name" : "@NIGELM/Git::CommitBuild",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
@@ -647,7 +676,7 @@
}
},
"name" : "@NIGELM/Git::Push",
- "version" : "2.036"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::CheckChangeLog",
@@ -657,7 +686,21 @@
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@NIGELM/UploadToCPAN",
- "version" : "5.039"
+ "version" : "6.007"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::NoTabs",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::NoTabs" : {
+ "filename" : "xt/author/no-tabs.t",
+ "finder" : [
+ ":InstallModules",
+ ":ExecFiles"
+ ]
+ }
+ },
+ "name" : "Test::NoTabs",
+ "version" : "0.15"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -668,72 +711,73 @@
}
},
"name" : "Prereqs",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExtraTestFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":PerlExecFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "5.039"
+ "version" : "6.007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : "@NIGELM/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
- "version" : "5.039"
+ "version" : "6.007"
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
- "is_trial" : "0"
+ "is_trial" : 0
},
- "version" : "5.039"
+ "version" : "6.007"
}
},
- "x_authority" : "cpan:NIGELM"
+ "x_authority" : "cpan:NIGELM",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 3.0217"
}
@@ -5,22 +5,21 @@ author:
- 'Sean M Burke <sburke@cpan.org>'
- 'Gisle Aas <gisle@ActiveState.com>'
build_requires:
+ ExtUtils::MakeMaker: '0'
File::Slurper: '0'
File::Spec: '0'
+ FindBin: '0'
IO::Handle: '0'
IPC::Open3: '0'
- Module::Build: '0.28'
- Scalar::Util: '0'
- Test::CPAN::Meta: '0'
- Test::EOL: '0'
Test::More: '0.96'
- Test::NoTabs: '0'
+ Test::Warnings: '0'
blib: '1.01'
bytes: '0'
+ lib: '0'
configure_requires:
- Module::Build: '0.28'
+ ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.039, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Zilla version 6.007, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
@@ -29,19 +28,19 @@ name: HTML-Formatter
provides:
HTML::FormatMarkdown:
file: lib/HTML/FormatMarkdown.pm
- version: '2.14'
+ version: '2.16'
HTML::FormatPS:
file: lib/HTML/FormatPS.pm
- version: '2.14'
+ version: '2.16'
HTML::FormatRTF:
file: lib/HTML/FormatRTF.pm
- version: '2.14'
+ version: '2.16'
HTML::FormatText:
file: lib/HTML/FormatText.pm
- version: '2.14'
+ version: '2.16'
HTML::Formatter:
file: lib/HTML/Formatter.pm
- version: '2.14'
+ version: '2.16'
requires:
Carp: '0'
Data::Dumper: '0'
@@ -72,10 +71,10 @@ resources:
-version: '2.14'
+version: '2.16'
x_Dist_Zilla:
perl:
- version: '5.022000'
+ version: '5.024000'
plugins:
-
class: Dist::Zilla::Plugin::Git::NextVersion
@@ -87,7 +86,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@NIGELM/Git::NextVersion'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Git::Check
config:
@@ -104,7 +103,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@NIGELM/Git::Check'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
config:
@@ -128,10 +127,12 @@ x_Dist_Zilla:
follow_symlinks: 0
include_dotfiles: 0
prefix: ''
- prune_directory: []
+ prune_directory:
+ - local
+ - vendor
root: .
name: '@NIGELM/GatherDir'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::Test::Compile
config:
@@ -156,23 +157,34 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::MetaTests
name: '@NIGELM/MetaTests'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@NIGELM/PodSyntaxTests'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::Test::PodSpelling
+ config:
+ Dist::Zilla::Plugin::Test::PodSpelling:
+ directories:
+ - bin
+ - lib
+ spell_cmd: ''
+ stopwords: []
+ wordlist: Pod::Wordlist
name: '@NIGELM/Test::PodSpelling'
- version: '2.006009'
+ version: '2.007003'
-
class: Dist::Zilla::Plugin::Test::Portability
+ config:
+ Dist::Zilla::Plugin::Test::Portability:
+ options: ''
name: '@NIGELM/Test::Portability'
- version: '2.000006'
+ version: '2.001000'
-
class: Dist::Zilla::Plugin::Test::Synopsis
name: '@NIGELM/Test::Synopsis'
- version: '2.000006'
+ version: '2.000007'
-
class: Dist::Zilla::Plugin::Test::MinimumVersion
name: '@NIGELM/Test::MinimumVersion'
@@ -190,68 +202,50 @@ x_Dist_Zilla:
name: '@NIGELM/Test::UnusedVars'
version: '2.000007'
-
- class: Dist::Zilla::Plugin::Test::NoTabs
- config:
- Dist::Zilla::Plugin::Test::NoTabs:
- filename: xt/author/no-tabs.t
- finder:
- - ':InstallModules'
- - ':ExecFiles'
- - ':TestFiles'
- name: '@NIGELM/Test::NoTabs'
- version: '0.15'
- -
class: Dist::Zilla::Plugin::Test::EOL
config:
Dist::Zilla::Plugin::Test::EOL:
filename: xt/author/eol.t
finder:
- - ':InstallModules'
- ':ExecFiles'
+ - ':InstallModules'
- ':TestFiles'
- trailing_whitespace: '0'
+ trailing_whitespace: 0
name: '@NIGELM/Test::EOL'
- version: '0.18'
+ version: '0.19'
+ -
+ class: Dist::Zilla::Plugin::Test::ReportPrereqs
+ name: '@NIGELM/Test::ReportPrereqs'
+ version: '0.025'
-
class: Dist::Zilla::Plugin::InlineFiles
name: '@NIGELM/InlineFiles'
- version: '5.039'
- -
- class: Dist::Zilla::Plugin::ReportVersions
- name: '@NIGELM/ReportVersions'
- version: '1.110730'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@NIGELM/PruneCruft'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::PruneFiles
name: '@NIGELM/PruneFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@NIGELM/ManifestSkip'
- version: '5.039'
- -
- class: Dist::Zilla::Plugin::Prereqs
- config:
- Dist::Zilla::Plugin::Prereqs:
- phase: build
- type: requires
- name: '@NIGELM/Prereqs'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@NIGELM/AutoPrereqs'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@NIGELM/MetaConfig'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::MetaProvides::Class
config:
Dist::Zilla::Role::MetaProvider::Provider:
+ $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002003'
inherit_missing: '1'
inherit_version: '1'
meta_noindex: '1'
@@ -265,17 +259,22 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::FinderCode
name: '@NIGELM/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '5.039'
+ version: '6.007'
+ include_underscores: 0
Dist::Zilla::Role::MetaProvider::Provider:
+ $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002003'
inherit_missing: '1'
inherit_version: '1'
meta_noindex: '1'
+ Dist::Zilla::Role::ModuleMetadata:
+ Module::Metadata: '1.000031'
+ version: '0.004'
name: '@NIGELM/MetaProvides::Package'
- version: '2.003001'
+ version: '2.004002'
-
class: Dist::Zilla::Plugin::MetaResources
name: '@NIGELM/MetaResources'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::Authority
name: '@NIGELM/Authority'
@@ -283,140 +282,164 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::ExtraTests
name: '@NIGELM/ExtraTests'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@NIGELM/NextRelease'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::OurPkgVersion
name: '@NIGELM/OurPkgVersion'
- version: '0.06'
+ version: '0.10'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
Dist::Zilla::Plugin::PodWeaver:
config_plugins:
- - '@MARCEL'
+ - '@DAGOLDEN'
finder:
- ':InstallModules'
- ':ExecFiles'
plugins:
-
+ class: Pod::Weaver::Plugin::SingleEncoding
+ name: '@DAGOLDEN/SingleEncoding'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Plugin::WikiDoc
+ name: '@DAGOLDEN/WikiDoc'
+ version: '0.093004'
+ -
class: Pod::Weaver::Plugin::EnsurePod5
name: '@CorePrep/EnsurePod5'
- version: '4.012'
+ version: '4.014'
-
class: Pod::Weaver::Plugin::H1Nester
name: '@CorePrep/H1Nester'
- version: '4.012'
- -
- class: Pod::Weaver::Section::Region
- name: '@Default/prelude'
- version: '4.012'
+ version: '4.014'
-
class: Pod::Weaver::Section::Name
- name: '@Default/Name'
- version: '4.012'
+ name: '@DAGOLDEN/Name'
+ version: '4.014'
-
class: Pod::Weaver::Section::Version
- name: '@Default/Version'
- version: '4.012'
+ name: '@DAGOLDEN/Version'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Section::Region
+ name: '@DAGOLDEN/Prelude'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@DAGOLDEN/Synopsis'
+ version: '4.014'
-
class: Pod::Weaver::Section::Generic
- name: SYNOPSIS
- version: '4.012'
+ name: '@DAGOLDEN/Description'
+ version: '4.014'
-
class: Pod::Weaver::Section::Generic
- name: DESCRIPTION
- version: '4.012'
+ name: '@DAGOLDEN/Usage'
+ version: '4.014'
-
class: Pod::Weaver::Section::Generic
- name: OVERVIEW
- version: '4.012'
+ name: '@DAGOLDEN/Overview'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@DAGOLDEN/Stability'
+ version: '4.014'
-
class: Pod::Weaver::Section::Collect
- name: ATTRIBUTES
- version: '4.012'
+ name: Requirements
+ version: '4.014'
-
class: Pod::Weaver::Section::Collect
- name: METHODS
- version: '4.012'
+ name: Attributes
+ version: '4.014'
-
class: Pod::Weaver::Section::Collect
- name: FUNCTIONS
- version: '4.012'
+ name: Constructors
+ version: '4.014'
-
- class: Pod::Weaver::Section::Leftovers
- name: '@Default/Leftovers'
- version: '4.012'
+ class: Pod::Weaver::Section::Collect
+ name: Methods
+ version: '4.014'
-
- class: Pod::Weaver::Section::Region
- name: '@Default/postlude'
- version: '4.012'
+ class: Pod::Weaver::Section::Collect
+ name: Functions
+ version: '4.014'
-
- class: Pod::Weaver::Section::Installation
- name: '@Default/Installation'
- version: '1.101421'
+ class: Pod::Weaver::Section::Leftovers
+ name: '@DAGOLDEN/Leftovers'
+ version: '4.014'
-
- class: Pod::Weaver::Section::BugsAndLimitations
- name: '@Default/BugsAndLimitations'
- version: '1.20'
+ class: Pod::Weaver::Section::Region
+ name: '@DAGOLDEN/postlude'
+ version: '4.014'
-
- class: Pod::Weaver::Section::Availability
- name: '@Default/Availability'
- version: '1.20'
+ class: Pod::Weaver::Section::Support
+ name: '@DAGOLDEN/Support'
+ version: '1.007'
-
class: Pod::Weaver::Section::Authors
- name: '@Default/Authors'
- version: '4.012'
+ name: '@DAGOLDEN/Authors'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Section::Contributors
+ name: '@DAGOLDEN/Contributors'
+ version: '0.009'
-
class: Pod::Weaver::Section::Legal
- name: '@Default/Legal'
- version: '4.012'
+ name: '@DAGOLDEN/Legal'
+ version: '4.014'
+ -
+ class: Pod::Weaver::Plugin::Transformer
+ name: '@DAGOLDEN/List'
+ version: '4.014'
name: '@NIGELM/PodWeaver'
- version: '4.006'
+ version: '4.008'
-
class: Dist::Zilla::Plugin::License
name: '@NIGELM/License'
- version: '5.039'
+ version: '6.007'
-
- class: Dist::Zilla::Plugin::ModuleBuild
+ class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 1
- name: '@NIGELM/ModuleBuild'
- version: '5.039'
+ name: '@NIGELM/MakeMaker'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@NIGELM/MetaYAML'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@NIGELM/MetaJSON'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
config:
Dist::Zilla::Role::FileWatcher:
version: '0.006'
name: '@NIGELM/ReadmeTextInBuild'
- version: '0.150250'
+ version: '0.161170'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
config:
Dist::Zilla::Role::FileWatcher:
version: '0.006'
name: '@NIGELM/ReadmePodInRoot'
- version: '0.150250'
+ version: '0.161170'
-
class: Dist::Zilla::Plugin::InstallGuide
name: '@NIGELM/InstallGuide'
- version: '1.200006'
+ version: '1.200007'
-
class: Dist::Zilla::Plugin::Manifest
name: '@NIGELM/Manifest'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
@@ -436,7 +459,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@NIGELM/Git::Commit'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
@@ -444,7 +467,7 @@ x_Dist_Zilla:
branch: ~
changelog: Changes
signed: 0
- tag: release/2.14
+ tag: release/2.16
tag_format: release/%v%t
tag_message: 'Release of %v%t'
Dist::Zilla::Role::Git::Repo:
@@ -452,7 +475,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@NIGELM/Git::Tag'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Git::CommitBuild
config:
@@ -466,7 +489,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@NIGELM/Git::CommitBuild'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Git::Push
config:
@@ -477,7 +500,7 @@ x_Dist_Zilla:
Dist::Zilla::Role::Git::Repo:
repo_root: .
name: '@NIGELM/Git::Push'
- version: '2.036'
+ version: '2.039'
-
class: Dist::Zilla::Plugin::CheckChangeLog
name: '@NIGELM/CheckChangeLog'
@@ -485,7 +508,17 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@NIGELM/UploadToCPAN'
- version: '5.039'
+ version: '6.007'
+ -
+ class: Dist::Zilla::Plugin::Test::NoTabs
+ config:
+ Dist::Zilla::Plugin::Test::NoTabs:
+ filename: xt/author/no-tabs.t
+ finder:
+ - ':InstallModules'
+ - ':ExecFiles'
+ name: Test::NoTabs
+ version: '0.15'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -493,54 +526,55 @@ x_Dist_Zilla:
phase: runtime
type: requires
name: Prereqs
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: '5.039'
+ version: '6.007'
-
class: Dist::Zilla::Plugin::FinderCode
name: '@NIGELM/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
- version: '5.039'
+ version: '6.007'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
- version: '5.039'
+ version: '6.007'
x_authority: cpan:NIGELM
+x_serialization_backend: 'YAML::Tiny version 1.69'
@@ -0,0 +1,113 @@
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.007.
+use strict;
+use warnings;
+
+use 5.008;
+
+use ExtUtils::MakeMaker;
+
+my %WriteMakefileArgs = (
+ "ABSTRACT" => "Base class for HTML formatters",
+ "AUTHOR" => "Nigel Metheringham <nigelm\@cpan.org>, Sean M Burke <sburke\@cpan.org>, Gisle Aas <gisle\@ActiveState.com>",
+ "CONFIGURE_REQUIRES" => {
+ "ExtUtils::MakeMaker" => 0
+ },
+ "DISTNAME" => "HTML-Formatter",
+ "LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.008",
+ "NAME" => "HTML::Formatter",
+ "PREREQ_PM" => {
+ "Carp" => 0,
+ "Data::Dumper" => 0,
+ "Encode" => 0,
+ "Font::Metrics::Courier" => 0,
+ "Font::Metrics::CourierBold" => 0,
+ "Font::Metrics::CourierBoldOblique" => 0,
+ "Font::Metrics::CourierOblique" => 0,
+ "Font::Metrics::Helvetica" => 0,
+ "Font::Metrics::HelveticaBold" => 0,
+ "Font::Metrics::HelveticaBoldOblique" => 0,
+ "Font::Metrics::HelveticaOblique" => 0,
+ "Font::Metrics::TimesBold" => 0,
+ "Font::Metrics::TimesBoldItalic" => 0,
+ "Font::Metrics::TimesItalic" => 0,
+ "Font::Metrics::TimesRoman" => 0,
+ "HTML::Element" => "3.15",
+ "HTML::TreeBuilder" => 0,
+ "IO::File" => 0,
+ "base" => 0,
+ "integer" => 0,
+ "parent" => 0,
+ "strict" => 0,
+ "utf8" => 0,
+ "warnings" => 0
+ },
+ "TEST_REQUIRES" => {
+ "ExtUtils::MakeMaker" => 0,
+ "File::Slurper" => 0,
+ "File::Spec" => 0,
+ "FindBin" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "Test::More" => "0.96",
+ "Test::Warnings" => 0,
+ "blib" => "1.01",
+ "bytes" => 0,
+ "lib" => 0
+ },
+ "VERSION" => "2.16",
+ "test" => {
+ "TESTS" => "t/*.t"
+ }
+);
+
+
+my %FallbackPrereqs = (
+ "Carp" => 0,
+ "Data::Dumper" => 0,
+ "Encode" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Slurper" => 0,
+ "File::Spec" => 0,
+ "FindBin" => 0,
+ "Font::Metrics::Courier" => 0,
+ "Font::Metrics::CourierBold" => 0,
+ "Font::Metrics::CourierBoldOblique" => 0,
+ "Font::Metrics::CourierOblique" => 0,
+ "Font::Metrics::Helvetica" => 0,
+ "Font::Metrics::HelveticaBold" => 0,
+ "Font::Metrics::HelveticaBoldOblique" => 0,
+ "Font::Metrics::HelveticaOblique" => 0,
+ "Font::Metrics::TimesBold" => 0,
+ "Font::Metrics::TimesBoldItalic" => 0,
+ "Font::Metrics::TimesItalic" => 0,
+ "Font::Metrics::TimesRoman" => 0,
+ "HTML::Element" => "3.15",
+ "HTML::TreeBuilder" => 0,
+ "IO::File" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "Test::More" => "0.96",
+ "Test::Warnings" => 0,
+ "base" => 0,
+ "blib" => "1.01",
+ "bytes" => 0,
+ "integer" => 0,
+ "lib" => 0,
+ "parent" => 0,
+ "strict" => 0,
+ "utf8" => 0,
+ "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ delete $WriteMakefileArgs{TEST_REQUIRES};
+ delete $WriteMakefileArgs{BUILD_REQUIRES};
+ $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
+}
+
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+ unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
+
+WriteMakefile(%WriteMakefileArgs);
@@ -4,7 +4,7 @@ NAME
VERSION
- version 2.14
+ version 2.16
SYNOPSIS
@@ -124,25 +124,22 @@ SEE ALSO
Also the HTML manipulation libraries used - HTML::TreeBuilder,
HTML::Element and HTML::Tree
-INSTALLATION
+SUPPORT
- See perlmodinstall for information and options on installing Perl
- modules.
+ Bugs / Feature Requests
-BUGS AND LIMITATIONS
+ Please report any bugs or feature requests through the issue tracker at
+ will be notified automatically of any progress on your issue.
- You can make new bug reports, and view existing ones, through the web
- interface at
+ Source Code
-AVAILABILITY
+ This is open source software. The code repository is available for
+ public review and contribution under the terms of the license.
- The latest version of this module is available from the Comprehensive
- Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a
- CPAN site near you, or see
AUTHORS
@@ -154,7 +151,7 @@ AUTHORS
COPYRIGHT AND LICENSE
- This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005
+ This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005
Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
@@ -0,0 +1,34 @@
+name = HTML-Formatter
+author = Nigel Metheringham <nigelm@cpan.org>
+author = Sean M Burke <sburke@cpan.org>
+author = Gisle Aas <gisle@ActiveState.com>
+license = Perl_5
+copyright_holder = Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas
+main_module = lib/HTML/Formatter.pm
+
+[@NIGELM]
+dist = HTML-Formatter
+repository_at = github
+disable_pod_coverage_tests = 1
+; the data files are now rejected by the EOL tests :-(
+disable_trailing_whitespace_tests = 1
+disable_no_tabs_tests = 1
+
+[Test::NoTabs]
+finder = :InstallModules
+finder = :ExecFiles
+
+; Font metrics needed for PS not visible to dzil
+[Prereqs]
+Font::Metrics::Courier = 0
+Font::Metrics::CourierBold = 0
+Font::Metrics::CourierBoldOblique = 0
+Font::Metrics::CourierOblique = 0
+Font::Metrics::Helvetica = 0
+Font::Metrics::HelveticaBold = 0
+Font::Metrics::HelveticaBoldOblique = 0
+Font::Metrics::HelveticaOblique = 0
+Font::Metrics::TimesBold = 0
+Font::Metrics::TimesBoldItalic = 0
+Font::Metrics::TimesItalic = 0
+Font::Metrics::TimesRoman = 0
@@ -9,7 +9,7 @@ use warnings;
use parent 'HTML::Formatter';
-our $VERSION = '2.14'; # VERSION
+our $VERSION = '2.16'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY
sub default_values {
@@ -93,7 +93,7 @@ sub hr_start {
sub img_start {
my ( $self, $node ) = @_;
- my $alt = $node->attr('alt');
+ my $alt = $node->attr('alt') || '';
my $src = $node->attr('src');
$self->out("![$alt]($src)");
@@ -111,8 +111,8 @@ sub a_start {
}
else {
$self->out("[");
+ 1;
}
-
}
sub a_end {
@@ -223,8 +223,6 @@ sub out {
my $self = shift;
my $text = shift;
- $text =~ tr/\xA0\xAD/ /d;
-
if ( $text =~ /^\s*$/ ) {
$self->{hspace} = 1;
return;
@@ -297,10 +295,7 @@ __END__
=pod
-=for stopwords CPAN Markdown homepage
-
-=for test_synopsis 1;
-__END__
+=encoding UTF-8
=head1 NAME
@@ -308,7 +303,12 @@ HTML::FormatMarkdown - Format HTML as Markdown
=head1 VERSION
-version 2.14
+version 2.16
+
+=for stopwords CPAN Markdown homepage
+
+=for test_synopsis 1;
+__END__
=head1 SYNOPSIS
@@ -330,23 +330,6 @@ HTML::FormatMarkdown is built on L<HTML::Formatter> and documentation for that
module applies to this - especially L<HTML::Formatter/new>,
L<HTML::Formatter/format_file> and L<HTML::Formatter/format_string>.
-=head1 INSTALLATION
-
-See perlmodinstall for information and options on installing Perl modules.
-
-=head1 BUGS AND LIMITATIONS
-
-You can make new bug reports, and view existing ones, through the
-
-=head1 AVAILABILITY
-
-The project homepage is L<https://metacpan.org/release/HTML-Formatter>.
-
-The latest version of this module is available from the Comprehensive Perl
-Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
-
=head1 AUTHORS
=over 4
@@ -367,7 +350,7 @@ Gisle Aas <gisle@ActiveState.com>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -13,7 +13,7 @@ use utf8; # for the is_utf8 function
use base 'HTML::Formatter';
-our $VERSION = '2.14'; # VERSION
+our $VERSION = '2.16'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY
# We now use Smart::Comments in place of the old DEBUG framework.
@@ -863,6 +863,16 @@ __END__
=pod
+=encoding UTF-8
+
+=head1 NAME
+
+HTML::FormatPS - Format HTML as PostScript
+
+=head1 VERSION
+
+version 2.16
+
=for test_synopsis 1;
__END__
@@ -872,14 +882,6 @@ __END__
startpage topmargin verticalmargin ledding leeding prolog
CPAN Quarto Tabloid Unicode homepage
-=head1 NAME
-
-HTML::FormatPS - Format HTML as PostScript
-
-=head1 VERSION
-
-version 2.14
-
=head1 SYNOPSIS
use HTML::TreeBuilder;
@@ -1054,23 +1056,6 @@ And, if it's ever even reasonably possible, support for tables.
I would welcome email from people who can help me out or advise me on the
above.
-=head1 INSTALLATION
-
-See perlmodinstall for information and options on installing Perl modules.
-
-=head1 BUGS AND LIMITATIONS
-
-You can make new bug reports, and view existing ones, through the
-
-=head1 AVAILABILITY
-
-The project homepage is L<https://metacpan.org/release/HTML-Formatter>.
-
-The latest version of this module is available from the Comprehensive Perl
-Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
-
=head1 AUTHORS
=over 4
@@ -1091,7 +1076,7 @@ Gisle Aas <gisle@ActiveState.com>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -13,7 +13,7 @@ use warnings;
use base 'HTML::Formatter';
-our $VERSION = '2.14'; # VERSION
+our $VERSION = '2.16'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY
# ------------------------------------------------------------------------
@@ -326,8 +326,9 @@ sub header_start {
#$self->adjust_lm(0); # assert new paragraph
$self->vspace(1.5);
+ ## TODO: work out why that extra $level was there and what its for
$self->out(
- \( sprintf '\s3%s\ql\keepn\f2\fs%s\ul' . "\n", $level, $self->{ 'head' . $level . '_halfpoint_size' }, $level,
+ \( sprintf '\s3%s\ql\keepn\f2\fs%s\ul' . "\n", $level, $self->{ 'head' . $level . '_halfpoint_size' }, #$level,
)
);
@@ -498,11 +499,7 @@ __END__
=pod
-=for test_synopsis 1;
-__END__
-
-=for stopwords arial bookman lm pagenumber prolog rtf tahoma verdana CPAN
- homepage rm sans serif twentieths
+=encoding UTF-8
=head1 NAME
@@ -510,7 +507,13 @@ HTML::FormatRTF - Format HTML as RTF
=head1 VERSION
-version 2.14
+version 2.16
+
+=for test_synopsis 1;
+__END__
+
+=for stopwords arial bookman lm pagenumber prolog rtf tahoma verdana CPAN
+ homepage rm sans serif twentieths
=head1 SYNOPSIS
@@ -630,23 +633,6 @@ document. This option is of interest only to advanced users.
L<HTML::Formatter>, L<RTF::Writer>
-=head1 INSTALLATION
-
-See perlmodinstall for information and options on installing Perl modules.
-
-=head1 BUGS AND LIMITATIONS
-
-You can make new bug reports, and view existing ones, through the
-
-=head1 AVAILABILITY
-
-The project homepage is L<https://metacpan.org/release/HTML-Formatter>.
-
-The latest version of this module is available from the Comprehensive Perl
-Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
-
=head1 AUTHORS
=over 4
@@ -667,7 +653,7 @@ Gisle Aas <gisle@ActiveState.com>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -13,7 +13,7 @@ use warnings;
use base 'HTML::Formatter';
-our $VERSION = '2.14'; # VERSION
+our $VERSION = '2.16'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY
# ------------------------------------------------------------------------
@@ -132,8 +132,6 @@ sub out {
my $self = shift;
my $text = shift;
- $text =~ tr/\xA0\xAD/ /d;
-
if ( $text =~ /^\s*$/ ) {
$self->{hspace} = 1;
return;
@@ -211,10 +209,7 @@ __END__
=pod
-=for test_synopsis 1;
-__END__
-
-=for stopwords latin1 leftmargin lm plaintext rightmargin rm CPAN homepage
+=encoding UTF-8
=head1 NAME
@@ -222,7 +217,12 @@ HTML::FormatText - Format HTML as plaintext
=head1 VERSION
-version 2.14
+version 2.16
+
+=for test_synopsis 1;
+__END__
+
+=for stopwords latin1 leftmargin lm plaintext rightmargin rm CPAN homepage
=head1 SYNOPSIS
@@ -243,7 +243,7 @@ or, more simply:
=head1 DESCRIPTION
-HTML::FormatText is a formatter that outputs plain latin1 text. All character
+HTML::FormatText is a formatter that outputs plain text. All character
attributes (bold/italic/underline) are ignored. Formatting of HTML tables and
forms is not implemented.
@@ -269,23 +269,6 @@ The column of the right margin. The default is 72.
L<HTML::Formatter>
-=head1 INSTALLATION
-
-See perlmodinstall for information and options on installing Perl modules.
-
-=head1 BUGS AND LIMITATIONS
-
-You can make new bug reports, and view existing ones, through the
-
-=head1 AVAILABILITY
-
-The project homepage is L<https://metacpan.org/release/HTML-Formatter>.
-
-The latest version of this module is available from the Comprehensive Perl
-Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
-
=head1 AUTHORS
=over 4
@@ -306,7 +289,7 @@ Gisle Aas <gisle@ActiveState.com>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -14,7 +14,7 @@ use HTML::Element 3.15 ();
# this should be commented out in release versions....
##use Smart::Comments;
-our $VERSION = '2.14'; # VERSION
+our $VERSION = '2.16'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY
#
@@ -739,6 +739,7 @@ sub textflow {
$self->blockquote_out( $_[0] );
}
else {
+ $_[0] = $self->_convert_spacelike_characters_to_space( $_[0] );
for ( split( /(\s+)/, $_[0] ) ) {
next unless length $_;
$self->out($_);
@@ -784,20 +785,37 @@ sub adjust_lm { confess "Must be overridden by subclass"; }
sub adjust_rm { confess "Must be overridden by subclass"; }
# ------------------------------------------------------------------------
+# Supplied with a string in bytes, takes any characters that look like
+# they really should be spaces and turns them into spaces.
+# Currently only handles the following characters:
+# 0x00A0 NO-BREAK SPACE
+# 0x00AD SOFT HYPHEN.
+sub _convert_spacelike_characters_to_space {
+ my ( $self, $text ) = @_;
-1;
+ return if !defined $text;
-__END__
+ eval {
+ require Encode;
+ my $unicode_text = Encode::decode( 'UTF-8', $text );
+ if ( $unicode_text =~ s/ ( \xA0 | \xAD ) / /gx ) {
+ $text = Encode::encode( 'UTF-8', $unicode_text );
+ }
+ };
+ return $text;
+}
-=pod
+# ------------------------------------------------------------------------
+
+
+1;
-=for test_synopsis 1;
__END__
-=for stopwords formatters CPAN homepage
+=pod
+=encoding UTF-8
=head1 NAME
@@ -805,7 +823,14 @@ HTML::Formatter - Base class for HTML formatters
=head1 VERSION
-version 2.14
+version 2.16
+
+=for test_synopsis 1;
+__END__
+
+=for stopwords dependancies formatters CPAN homepage
+
=head1 SYNOPSIS
@@ -926,22 +951,24 @@ Format HTML into Rich Text Format
Also the HTML manipulation libraries used - L<HTML::TreeBuilder>,
L<HTML::Element> and L<HTML::Tree>
-=head1 INSTALLATION
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
-See perlmodinstall for information and options on installing Perl modules.
+=head2 Bugs / Feature Requests
-=head1 BUGS AND LIMITATIONS
+Please report any bugs or feature requests through the issue tracker
+You will be notified automatically of any progress on your issue.
-You can make new bug reports, and view existing ones, through the
+=head2 Source Code
-=head1 AVAILABILITY
+This is open source software. The code repository is available for
+public review and contribution under the terms of the license.
-The project homepage is L<https://metacpan.org/release/HTML-Formatter>.
-The latest version of this module is available from the Comprehensive Perl
-Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
=head1 AUTHORS
@@ -963,7 +990,7 @@ Gisle Aas <gisle@ActiveState.com>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2015 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
+This software is copyright (c) 2016 by Nigel Metheringham, 2002-2005 Sean M Burke, 1999-2002 Gisle Aas.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,68 @@
+do { my $x = {
+ 'configure' => {
+ 'requires' => {
+ 'ExtUtils::MakeMaker' => '0'
+ }
+ },
+ 'develop' => {
+ 'requires' => {
+ 'Test::CPAN::Meta' => '0',
+ 'Test::EOL' => '0',
+ 'Test::More' => '0.88',
+ 'Test::NoTabs' => '0',
+ 'Test::Pod' => '1.41',
+ 'Test::Portability::Files' => '0',
+ 'Test::Spelling' => '0.12',
+ 'Test::Synopsis' => '0'
+ }
+ },
+ 'runtime' => {
+ 'requires' => {
+ 'Carp' => '0',
+ 'Data::Dumper' => '0',
+ 'Encode' => '0',
+ 'Font::Metrics::Courier' => '0',
+ 'Font::Metrics::CourierBold' => '0',
+ 'Font::Metrics::CourierBoldOblique' => '0',
+ 'Font::Metrics::CourierOblique' => '0',
+ 'Font::Metrics::Helvetica' => '0',
+ 'Font::Metrics::HelveticaBold' => '0',
+ 'Font::Metrics::HelveticaBoldOblique' => '0',
+ 'Font::Metrics::HelveticaOblique' => '0',
+ 'Font::Metrics::TimesBold' => '0',
+ 'Font::Metrics::TimesBoldItalic' => '0',
+ 'Font::Metrics::TimesItalic' => '0',
+ 'Font::Metrics::TimesRoman' => '0',
+ 'HTML::Element' => '3.15',
+ 'HTML::TreeBuilder' => '0',
+ 'IO::File' => '0',
+ 'base' => '0',
+ 'integer' => '0',
+ 'parent' => '0',
+ 'perl' => '5.008',
+ 'strict' => '0',
+ 'utf8' => '0',
+ 'warnings' => '0'
+ }
+ },
+ 'test' => {
+ 'recommends' => {
+ 'CPAN::Meta' => '2.120900'
+ },
+ 'requires' => {
+ 'ExtUtils::MakeMaker' => '0',
+ 'File::Slurper' => '0',
+ 'File::Spec' => '0',
+ 'FindBin' => '0',
+ 'IO::Handle' => '0',
+ 'IPC::Open3' => '0',
+ 'Test::More' => '0.96',
+ 'Test::Warnings' => '0',
+ 'blib' => '1.01',
+ 'bytes' => '0',
+ 'lib' => '0'
+ }
+ }
+ };
+ $x;
+ }
\ No newline at end of file
@@ -0,0 +1,183 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.025
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+ qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+ |
+ (?:\.[0-9]+) (?:_[0-9]+)?
+ ) | (?:
+ v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+ |
+ (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+ )
+ )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+ my $max = shift;
+ $max = ( $_ > $max ) ? $_ : $max for @_;
+ return $max;
+}
+
+sub _merge_prereqs {
+ my ($collector, $prereqs) = @_;
+
+ # CPAN::Meta::Prereqs object
+ if (ref $collector eq $cpan_meta_pre) {
+ return $collector->with_merged_prereqs(
+ CPAN::Meta::Prereqs->new( $prereqs )
+ );
+ }
+
+ # Raw hashrefs
+ for my $phase ( keys %$prereqs ) {
+ for my $type ( keys %{ $prereqs->{$phase} } ) {
+ for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+ $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+ }
+ }
+ }
+
+ return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+ ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+ $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META
+ && (my $meta = eval { CPAN::Meta->load_file($source) } )
+) {
+ $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+}
+else {
+ $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+ $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+ next unless $req_hash->{$phase};
+ next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+ for my $type ( qw(requires recommends suggests conflicts modules) ) {
+ next unless $req_hash->{$phase}{$type};
+
+ my $title = ucfirst($phase).' '.ucfirst($type);
+ my @reports = [qw/Module Want Have/];
+
+ for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+ next if $mod eq 'perl';
+ next if grep { $_ eq $mod } @exclude;
+
+ my $file = $mod;
+ $file =~ s{::}{/}g;
+ $file .= ".pm";
+ my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+ my $want = $req_hash->{$phase}{$type}{$mod};
+ $want = "undef" unless defined $want;
+ $want = "any" if !$want && $want == 0;
+
+ my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+ if ($prefix) {
+ my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+ $have = "undef" unless defined $have;
+ push @reports, [$mod, $want, $have];
+
+ if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+ if ( $have !~ /\A$lax_version_re\z/ ) {
+ push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+ }
+ elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+ push @dep_errors, "$mod version '$have' is not in required range '$want'";
+ }
+ }
+ }
+ else {
+ push @reports, [$mod, $want, "missing"];
+
+ if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+ push @dep_errors, "$mod is not installed ($req_string)";
+ }
+ }
+ }
+
+ if ( @reports ) {
+ push @full_reports, "=== $title ===\n\n";
+
+ my $ml = _max( map { length $_->[0] } @reports );
+ my $wl = _max( map { length $_->[1] } @reports );
+ my $hl = _max( map { length $_->[2] } @reports );
+
+ if ($type eq 'modules') {
+ splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
+ push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports;
+ }
+ else {
+ splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+ push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+ }
+
+ push @full_reports, "\n";
+ }
+ }
+}
+
+if ( @full_reports ) {
+ diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+ diag join("\n",
+ "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+ "The following REQUIRED prerequisites were not satisfied:\n",
+ @dep_errors,
+ "\n"
+ );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -1,447 +0,0 @@
-#!perl
-use warnings;
-use strict;
-use Test::More 0.94;
-
-# Include a cut-down version of YAML::Tiny so we don't introduce unnecessary
-# dependencies ourselves.
-
-package Local::YAML::Tiny;
-
-use strict;
-use Carp 'croak';
-
-# UTF Support?
-sub HAVE_UTF8 () { $] >= 5.007003 }
-BEGIN {
- if ( HAVE_UTF8 ) {
- # The string eval helps hide this from Test::MinimumVersion
- eval "require utf8;";
- die "Failed to load UTF-8 support" if $@;
- }
-
- # Class structure
- require 5.004;
- $YAML::Tiny::VERSION = '1.40';
-
- # Error storage
- $YAML::Tiny::errstr = '';
-}
-
-# Printable characters for escapes
-my %UNESCAPES = (
- z => "\x00", a => "\x07", t => "\x09",
- n => "\x0a", v => "\x0b", f => "\x0c",
- r => "\x0d", e => "\x1b", '\\' => '\\',
-);
-
-
-#####################################################################
-# Implementation
-
-# Create an empty YAML::Tiny object
-sub new {
- my $class = shift;
- bless [ @_ ], $class;
-}
-
-# Create an object from a file
-sub read {
- my $class = ref $_[0] ? ref shift : shift;
-
- # Check the file
- my $file = shift or return $class->_error( 'You did not specify a file name' );
- return $class->_error( "File '$file' does not exist" ) unless -e $file;
- return $class->_error( "'$file' is a directory, not a file" ) unless -f _;
- return $class->_error( "Insufficient permissions to read '$file'" ) unless -r _;
-
- # Slurp in the file
- local $/ = undef;
- local *CFG;
- unless ( open(CFG, $file) ) {
- return $class->_error("Failed to open file '$file': $!");
- }
- my $contents = <CFG>;
- unless ( close(CFG) ) {
- return $class->_error("Failed to close file '$file': $!");
- }
-
- $class->read_string( $contents );
-}
-
-# Create an object from a string
-sub read_string {
- my $class = ref $_[0] ? ref shift : shift;
- my $self = bless [], $class;
- my $string = $_[0];
- unless ( defined $string ) {
- return $self->_error("Did not provide a string to load");
- }
-
- # Byte order marks
- # NOTE: Keeping this here to educate maintainers
- # my %BOM = (
- # "\357\273\277" => 'UTF-8',
- # "\376\377" => 'UTF-16BE',
- # "\377\376" => 'UTF-16LE',
- # "\377\376\0\0" => 'UTF-32LE'
- # "\0\0\376\377" => 'UTF-32BE',
- # );
- if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
- return $self->_error("Stream has a non UTF-8 BOM");
- } else {
- # Strip UTF-8 bom if found, we'll just ignore it
- $string =~ s/^\357\273\277//;
- }
-
- # Try to decode as utf8
- utf8::decode($string) if HAVE_UTF8;
-
- # Check for some special cases
- return $self unless length $string;
- unless ( $string =~ /[\012\015]+\z/ ) {
- return $self->_error("Stream does not end with newline character");
- }
-
- # Split the file into lines
- my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
- split /(?:\015{1,2}\012|\015|\012)/, $string;
-
- # Strip the initial YAML header
- @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
-
- # A nibbling parser
- while ( @lines ) {
- # Do we have a document header?
- if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
- # Handle scalar documents
- shift @lines;
- if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
- push @$self, $self->_read_scalar( "$1", [ undef ], \@lines );
- next;
- }
- }
-
- if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
- # A naked document
- push @$self, undef;
- while ( @lines and $lines[0] !~ /^---/ ) {
- shift @lines;
- }
-
- } elsif ( $lines[0] =~ /^\s*\-/ ) {
- # An array at the root
- my $document = [ ];
- push @$self, $document;
- $self->_read_array( $document, [ 0 ], \@lines );
-
- } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
- # A hash at the root
- my $document = { };
- push @$self, $document;
- $self->_read_hash( $document, [ length($1) ], \@lines );
-
- } else {
- croak("YAML::Tiny failed to classify the line '$lines[0]'");
- }
- }
-
- $self;
-}
-
-# Deparse a scalar string to the actual scalar
-sub _read_scalar {
- my ($self, $string, $indent, $lines) = @_;
-
- # Trim trailing whitespace
- $string =~ s/\s*\z//;
-
- # Explitic null/undef
- return undef if $string eq '~';
-
- # Quotes
- if ( $string =~ /^\'(.*?)\'\z/ ) {
- return '' unless defined $1;
- $string = $1;
- $string =~ s/\'\'/\'/g;
- return $string;
- }
- if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
- # Reusing the variable is a little ugly,
- # but avoids a new variable and a string copy.
- $string = $1;
- $string =~ s/\\"/"/g;
- $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
- return $string;
- }
-
- # Special cases
- if ( $string =~ /^[\'\"!&]/ ) {
- croak("YAML::Tiny does not support a feature in line '$lines->[0]'");
- }
- return {} if $string eq '{}';
- return [] if $string eq '[]';
-
- # Regular unquoted string
- return $string unless $string =~ /^[>|]/;
-
- # Error
- croak("YAML::Tiny failed to find multi-line scalar content") unless @$lines;
-
- # Check the indent depth
- $lines->[0] =~ /^(\s*)/;
- $indent->[-1] = length("$1");
- if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
- croak("YAML::Tiny found bad indenting in line '$lines->[0]'");
- }
-
- # Pull the lines
- my @multiline = ();
- while ( @$lines ) {
- $lines->[0] =~ /^(\s*)/;
- last unless length($1) >= $indent->[-1];
- push @multiline, substr(shift(@$lines), length($1));
- }
-
- my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
- my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
- return join( $j, @multiline ) . $t;
-}
-
-# Parse an array
-sub _read_array {
- my ($self, $array, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("YAML::Tiny found bad indenting in line '$lines->[0]'");
- }
-
- if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
- # Inline nested hash
- my $indent2 = length("$1");
- $lines->[0] =~ s/-/ /;
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, $indent2 ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
- # Array entry with a value
- shift @$lines;
- push @$array, $self->_read_scalar( "$2", [ @$indent, undef ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
- shift @$lines;
- unless ( @$lines ) {
- push @$array, undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)\-/ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] == $indent2 ) {
- # Null array entry
- push @$array, undef;
- } else {
- # Naked indenter
- push @$array, [ ];
- $self->_read_array( $array->[-1], [ @$indent, $indent2 ], $lines );
- }
-
- } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, length("$1") ], $lines );
-
- } else {
- croak("YAML::Tiny failed to classify line '$lines->[0]'");
- }
-
- } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
- # This is probably a structure like the following...
- # ---
- # foo:
- # - list
- # bar: value
- #
- # ... so lets return and let the hash parser handle it
- return 1;
-
- } else {
- croak("YAML::Tiny failed to classify line '$lines->[0]'");
- }
- }
-
- return 1;
-}
-
-# Parse an array
-sub _read_hash {
- my ($self, $hash, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("YAML::Tiny found bad indenting in line '$lines->[0]'");
- }
-
- # Get the key
- unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
- if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
- croak("YAML::Tiny does not support a feature in line '$lines->[0]'");
- }
- croak("YAML::Tiny failed to classify line '$lines->[0]'");
- }
- my $key = $1;
-
- # Do we have a value?
- if ( length $lines->[0] ) {
- # Yes
- $hash->{$key} = $self->_read_scalar( shift(@$lines), [ @$indent, undef ], $lines );
- } else {
- # An indent
- shift @$lines;
- unless ( @$lines ) {
- $hash->{$key} = undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)-/ ) {
- $hash->{$key} = [];
- $self->_read_array( $hash->{$key}, [ @$indent, length($1) ], $lines );
- } elsif ( $lines->[0] =~ /^(\s*)./ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] >= $indent2 ) {
- # Null hash entry
- $hash->{$key} = undef;
- } else {
- $hash->{$key} = {};
- $self->_read_hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
- }
- }
- }
- }
-
- return 1;
-}
-
-# Set error
-sub _error {
- $YAML::Tiny::errstr = $_[1];
- undef;
-}
-
-# Retrieve error
-sub errstr {
- $YAML::Tiny::errstr;
-}
-
-
-
-#####################################################################
-# Use Scalar::Util if possible, otherwise emulate it
-
-BEGIN {
- eval {
- require Scalar::Util;
- };
- if ( $@ ) {
- # Failed to load Scalar::Util
- eval <<'END_PERL';
-sub refaddr {
- my $pkg = ref($_[0]) or return undef;
- if (!!UNIVERSAL::can($_[0], 'can')) {
- bless $_[0], 'Scalar::Util::Fake';
- } else {
- $pkg = undef;
- }
- "$_[0]" =~ /0x(\w+)/;
- my $i = do { local $^W; hex $1 };
- bless $_[0], $pkg if defined $pkg;
- $i;
-}
-END_PERL
- } else {
- Scalar::Util->import('refaddr');
- }
-}
-
-
-#####################################################################
-# main test
-#####################################################################
-
-package main;
-
-BEGIN {
-
- # Skip modules that either don't want to be loaded directly, such as
- # Module::Install, or that mess with the test count, such as the Test::*
- # modules listed here.
- #
- # Moose::Role conflicts if Moose is loaded as well, but Moose::Role is in
- # the Moose distribution and it's certain that someone who uses
- # Moose::Role also uses Moose somewhere, so if we disallow Moose::Role,
- # we'll still get the relevant version number.
-
- my %skip = map { $_ => 1 } qw(
- App::FatPacker
- Class::Accessor::Classy
- Devel::Cover
- Module::Install
- Moose::Role
- POE::Loop::Tk
- Template::Test
- Test::Kwalitee
- Test::Pod::Coverage
- Test::Portability::Files
- Test::YAML::Meta
- open
- );
-
- my $Test = Test::Builder->new;
-
- $Test->plan(skip_all => "META.yml could not be found")
- unless -f 'META.yml' and -r _;
-
- my $meta = (Local::YAML::Tiny->read('META.yml'))->[0];
- my %requires;
- for my $require_key (grep { /requires/ } keys %$meta) {
- my %h = %{ $meta->{$require_key} };
- $requires{$_}++ for keys %h;
- }
- delete $requires{perl};
-
- diag("Testing with Perl $], $^X");
- for my $module (sort keys %requires) {
- if ($skip{$module}) {
- note "$module doesn't want to be loaded directly, skipping";
- next;
- }
- local $SIG{__WARN__} = sub { note "$module: $_[0]" };
- require_ok $module or BAIL_OUT("can't load $module");
- my $version = $module->VERSION;
- $version = 'undefined' unless defined $version;
- diag(" $module version is $version");
- }
- done_testing;
-}
@@ -3,16 +3,14 @@ use warnings;
use File::Spec; # try to keep pathnames neutral
use Test::More 0.96;
-BEGIN { use_ok("HTML::FormatPS"); }
+use lib 't/lib';
+use Test::HTML::Formatter;
-foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) ) ) {
- my $obj = new_ok("HTML::FormatPS");
- ok( -f $infile, "Testing file handling for $infile" );
- my $expfilename = ( File::Spec->splitpath($infile) )[2];
- $expfilename =~ s/\.html$/.ps/i;
- my $expfile = File::Spec->catfile( 't', 'data', 'expected', $expfilename );
- ok( -f $expfile, ' Expected result file exists' );
- if ( -f $expfile ) {
+Test::HTML::Formatter->test_files(
+ class_suffix => 'FormatPS',
+ filename_extension => 'ps',
+ callback_test_file => sub {
+ my ( $self, $infile, $expfile ) = @_;
# read file content - split into lines, but we exclude the
# structured comment lines starting with %% since they include
@@ -50,8 +48,8 @@ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) )
ok( ( ( scalar( @{$got_lines} ) - $ok_count ) <= ( scalar( @{$got_lines} ) / 10 ) ),
' Better than 90% output lines match' );
}
- }
-}
+ },
+);
# finish up
done_testing();
@@ -3,16 +3,14 @@ use warnings;
use File::Spec; # try to keep pathnames neutral
use Test::More 0.96;
-BEGIN { use_ok("HTML::FormatRTF"); }
+use lib 't/lib';
+use Test::HTML::Formatter;
-foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) ) ) {
- my $obj = new_ok("HTML::FormatRTF");
- ok( -f $infile, "Testing file handling for $infile" );
- my $expfilename = ( File::Spec->splitpath($infile) )[2];
- $expfilename =~ s/\.html$/.rtf/i;
- my $expfile = File::Spec->catfile( 't', 'data', 'expected', $expfilename );
- ok( -f $expfile, ' Expected result file exists' );
- if ( -f $expfile ) {
+Test::HTML::Formatter->test_files(
+ class_suffix => 'FormatRTF',
+ filename_extension => 'rtf',
+ callback_test_file => sub {
+ my ( $self, $infile, $expfile ) = @_;
# read file content - split into lines, but we exclude the
# doccomm line since it includes a timestamp and version information
@@ -28,7 +26,7 @@ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) )
ok( length($text), ' Returned a string from conversion' );
is_deeply( $got_lines, $exp_lines, ' Correct text string returned' );
}
-}
+);
# finish up
done_testing();
@@ -1,18 +1,17 @@
use strict;
use warnings;
+use FindBin;
use File::Spec; # try to keep pathnames neutral
use Test::More 0.96;
-BEGIN { use_ok("HTML::FormatText"); }
+use lib 't/lib';
+use Test::HTML::Formatter;
-foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) ) ) {
- my $obj = new_ok("HTML::FormatText");
- ok( -f $infile, "Testing file handling for $infile" );
- my $expfilename = ( File::Spec->splitpath($infile) )[2];
- $expfilename =~ s/\.html$/.txt/i;
- my $expfile = File::Spec->catfile( 't', 'data', 'expected', $expfilename );
- ok( -f $expfile, ' Expected result file exists' );
- if ( -f $expfile ) {
+Test::HTML::Formatter->test_files(
+ class_suffix => 'FormatText',
+ filename_extension => 'txt',
+ callback_test_file => sub {
+ my ( $self, $infile, $expfile ) = @_;
# read file content - use older style slurp
local (*FH);
@@ -24,10 +23,10 @@ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) )
my $text = HTML::FormatText->format_file( $infile, leftmargin => 5, rightmargin => 50 );
my $got_lines = [ split( /\n/, $text ) ];
- ok( length($text), ' Returned a string from conversion' );
- is_deeply( $got_lines, $exp_lines, ' Correct text string returned' );
+ ok( length($text), " $infile: Returned a string from conversion" );
+ is_deeply( $got_lines, $exp_lines, " $infile: Correct text string returned" );
}
-}
+);
# build a set of tests
my @test_fragments = (
@@ -3,16 +3,14 @@ use warnings;
use File::Spec; # try to keep pathnames neutral
use Test::More 0.96;
-BEGIN { use_ok("HTML::FormatMarkdown"); }
+use lib 't/lib';
+use Test::HTML::Formatter;
-foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) ) ) {
- my $obj = new_ok("HTML::FormatMarkdown");
- ok( -f $infile, "Testing file handling for $infile" );
- my $expfilename = ( File::Spec->splitpath($infile) )[2];
- $expfilename =~ s/\.html$/.md/i;
- my $expfile = File::Spec->catfile( 't', 'data', 'expected', $expfilename );
- ok( -f $expfile, ' Expected result file exists' );
- if ( -f $expfile ) {
+Test::HTML::Formatter->test_files(
+ class_suffix => 'FormatMarkdown',
+ filename_extension => 'md',
+ callback_test_file => sub {
+ my ( $self, $infile, $expfile ) = @_;
# read file content - split into lines, but we exclude the
# doccomm line since it includes a timestamp and version information
@@ -27,7 +25,7 @@ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) )
ok( length($text), ' Returned a string from conversion' );
is_deeply( $got_lines, $exp_lines, ' Correct text string returned' );
}
-}
+);
# finish up
done_testing();
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{AUTHOR_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for testing by the author');
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
}
}
@@ -1,15 +1,15 @@
BEGIN {
unless ($ENV{AUTHOR_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for testing by the author');
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
}
}
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.18
+# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19
use Test::More 0.88;
use Test::EOL;
@@ -21,7 +21,8 @@ my @files = (
'lib/HTML/FormatText.pm',
'lib/HTML/Formatter.pm',
't/00-compile.t',
- 't/000-report-versions.t',
+ 't/00-report-prereqs.dd',
+ 't/00-report-prereqs.t',
't/01_ps.t',
't/02_rtf.t',
't/03_text.t',
@@ -30,7 +31,14 @@ my @files = (
't/data/expected/test.ps',
't/data/expected/test.rtf',
't/data/expected/test.txt',
+ 't/data/expected/unicode.md',
+ 't/data/expected/unicode.ps',
+ 't/data/expected/unicode.rtf',
+ 't/data/expected/unicode.txt',
't/data/in/test.html',
+ 't/data/in/unicode.html',
+ 't/lib/Test/HTML/Formatter.pm',
+ 't/rt111783.t',
't/rt69426.t',
't/support/generate_results.pl'
);
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{AUTHOR_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for testing by the author');
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
}
}
@@ -19,20 +19,7 @@ my @files = (
'lib/HTML/FormatPS.pm',
'lib/HTML/FormatRTF.pm',
'lib/HTML/FormatText.pm',
- 'lib/HTML/Formatter.pm',
- 't/00-compile.t',
- 't/000-report-versions.t',
- 't/01_ps.t',
- 't/02_rtf.t',
- 't/03_text.t',
- 't/04_md.t',
- 't/data/expected/test.md',
- 't/data/expected/test.ps',
- 't/data/expected/test.rtf',
- 't/data/expected/test.txt',
- 't/data/in/test.html',
- 't/rt69426.t',
- 't/support/generate_results.pl'
+ 'lib/HTML/Formatter.pm'
);
notabs_ok($_) foreach @files;
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{AUTHOR_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for testing by the author');
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
}
}
@@ -10,29 +10,29 @@ use strict;
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006009
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007003
use Test::Spelling 0.12;
use Pod::Wordlist;
add_stopwords(<DATA>);
-all_pod_files_spelling_ok( qw( bin lib ) );
+all_pod_files_spelling_ok( qw( bin lib ) );
__DATA__
-Nigel
-Metheringham
-nigelm
-Sean
-Burke
-sburke
-Gisle
-Aas
-gisle
-2002
1999
-lib
-HTML
+2002
+Aas
+Burke
FormatMarkdown
FormatPS
FormatRTF
FormatText
Formatter
+Gisle
+HTML
+Metheringham
+Nigel
+Sean
+gisle
+lib
+nigelm
+sburke
@@ -0,0 +1,15 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
+ }
+}
+
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use strict; use warnings;
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();
@@ -0,0 +1,18 @@
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+ if $@;
+
+run_tests();
@@ -0,0 +1,13 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ print "1..0 # SKIP these tests are for testing by the author\n";
+ exit
+ }
+}
+
+
+use Test::Synopsis;
+
+all_synopsis_ok();
@@ -0,0 +1,25 @@
+ French: hétérogénéité, ça a beaucoup
+ d'accents.
+
+ Polish: welcome to sunny Łódź.
+
+ Here's how you say "tax return" in Thai:
+ คำร้องขอคืนเงินภาษีอากร
+
+ This Mongolian person's twitter username
+ character is not a soft-hyphen:
+ ᠭ-ᠪᠢᠰᠢᠷᠡᠯ
+
+ Let us all worship at the shrine of Emoji: how
+ else could you throw a pile of poo at a
+ snowman?
+ 💩→☃
+
+ This sentence is full of non-breaking spaces
+ but it'll be broken anyway.
+
+ I put a hyphen in
+ llanfairpwllgwyngyllgogerychwyrndrob
+ wllllantysiliogogogoch and it ended up as a
+ space.
+
diff --git a/var/tmp/source/NIGELM/HTML-Formatter-2.16/HTML-Formatter-2.16/t/data/expected/unicode.ps b/var/tmp/source/NIGELM/HTML-Formatter-2.16/HTML-Formatter-2.16/t/data/expected/unicode.ps
new file mode 100644
index 00000000..e69de29b
diff --git a/var/tmp/source/NIGELM/HTML-Formatter-2.16/HTML-Formatter-2.16/t/data/expected/unicode.rtf b/var/tmp/source/NIGELM/HTML-Formatter-2.16/HTML-Formatter-2.16/t/data/expected/unicode.rtf
new file mode 100644
index 00000000..e69de29b
@@ -0,0 +1,25 @@
+ French: hétérogénéité, ça a beaucoup
+ d'accents.
+
+ Polish: welcome to sunny Łódź.
+
+ Here's how you say "tax return" in Thai:
+ คำร้องขอคืนเงินภาษีอากร
+
+ This Mongolian person's twitter username
+ character is not a soft-hyphen:
+ ᠭ-ᠪᠢᠰᠢᠷᠡᠯ
+
+ Let us all worship at the shrine of Emoji: how
+ else could you throw a pile of poo at a
+ snowman?
+ 💩→☃
+
+ This sentence is full of non-breaking spaces
+ but it'll be broken anyway.
+
+ I put a hyphen in
+ llanfairpwllgwyngyllgogerychwyrndrob
+ wllllantysiliogogogoch and it ended up as a
+ space.
+
@@ -0,0 +1,25 @@
+<html>
+<body>
+<p>French: hétérogénéité, ça a beaucoup d'accents.</p>
+
+<p>Polish: welcome to sunny Łódź.</p>
+
+<p>Here's how you say "tax return" in Thai:
+คำร้องขอคืนเงินภาษีอากร</p>
+
+<p>This Mongolian person's twitter username character is not a
+soft-hyphen:<br/>
+ᠭ-ᠪᠢᠰᠢᠷᠡᠯ</p>
+
+<p>Let us all worship at the shrine of Emoji: how else could you throw
+a pile of poo at a snowman?<br/>
+💩→☃</p>
+
+<p>This sentence is full of non-breaking spaces but it'll be broken anyway.</p>
+
+<p>I put a hyphen in llanfairpwllgwyngyllgogerychwyrndrob­wllllantysiliogogogoch
+and it ended up as a space.</p>
+
+
+</body>
+</html>
\ No newline at end of file
@@ -0,0 +1,34 @@
+package Test::HTML::Formatter;
+
+use strict;
+use warnings;
+use Test::More;
+
+sub test_files {
+ my ( $test_class, %args ) = @_;
+
+ # Pull in our class.
+ my $class = 'HTML::' . $args{class_suffix};
+ use_ok($class);
+
+ # Find the files we want to test.
+ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) ) ) {
+ my $obj = new_ok($class);
+ ok( -f $infile, "Testing file handling for $infile" );
+ my $expfilename = ( File::Spec->splitpath($infile) )[2];
+ $expfilename =~ s/\.html$/.$args{filename_extension}/i;
+ my $expfile = File::Spec->catfile( 't', 'data', 'expected', $expfilename );
+ ok( -f $expfile, " Expected result file $expfile exists" );
+ if ( -f $expfile ) {
+ SKIP:
+ {
+ if ( -s $expfile == 0 ) {
+ skip "No idea what $expfile should look like", 1;
+ }
+ $args{callback_test_file}->( $obj, $infile, $expfile );
+ }
+ }
+ }
+}
+
+1;
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print "1..0 # SKIP these tests are for release candidate testing\n";
+ exit
}
}
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print "1..0 # SKIP these tests are for release candidate testing\n";
+ exit
}
}
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print "1..0 # SKIP these tests are for release candidate testing\n";
+ exit
}
}
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print "1..0 # SKIP these tests are for release candidate testing\n";
+ exit
}
}
@@ -1,14 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
-use Test::More;
-use Test::Pod 1.41;
-
-all_pod_files_ok();
@@ -1,20 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval 'use Test::Portability::Files';
-plan skip_all => 'Test::Portability::Files required for testing portability'
- if $@;
-
-run_tests();
@@ -1,13 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-
-use Test::Synopsis;
-
-all_synopsis_ok();
@@ -2,8 +2,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print "1..0 # SKIP these tests are for release candidate testing\n";
+ exit
}
}
@@ -0,0 +1,16 @@
+use strict;
+use warnings;
+use Test::More 0.96;
+use Test::Warnings;
+
+use_ok('HTML::FormatMarkdown');
+
+# Two tests of iasues raised in RT#111783
+# These both failed in 2.14, and relate to Markdown handling of fragments.
+
+is( HTML::FormatMarkdown->format_string('<a href="foo">foo</a>'), "[foo](foo)\n", 'Check for string emitted' );
+is( HTML::FormatMarkdown->format_string('<img src="foo.jpg">foo</img>'),
+ "![](foo.jpg)foo\n", 'Check for alt tag warning' );
+
+# finish up
+done_testing();
@@ -21,5 +21,6 @@ foreach my $infile ( glob( File::Spec->catfile( 't', 'data', 'in', '*.html' ) )
write_binary( ( $outfile . 'ps' ), HTML::FormatPS->format_file( $infile, leftmargin => 5, rightmargin => 50 ) );
write_binary( ( $outfile . 'rtf' ), HTML::FormatRTF->format_file( $infile, leftmargin => 5, rightmargin => 50 ) );
write_binary( ( $outfile . 'txt' ), HTML::FormatText->format_file( $infile, leftmargin => 5, rightmargin => 50 ) );
- write_binary( ( $outfile . 'md' ), HTML::FormatMarkdown->format_file( $infile, leftmargin => 5, rightmargin => 50 ) );
+ write_binary( ( $outfile . 'md' ),
+ HTML::FormatMarkdown->format_file( $infile, leftmargin => 5, rightmargin => 50 ) );
}