Blame t/utils.t

Packit bcfb5a
use strict;
Packit bcfb5a
use warnings;
Packit bcfb5a
use Test::More tests => 7;
Packit bcfb5a
use Software::LicenseUtils;
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_pm = <<'END_PM';
Packit bcfb5a
Packit bcfb5a
"magic true value";
Packit bcfb5a
__END__
Packit bcfb5a
Packit bcfb5a
=head1 LICENSE
Packit bcfb5a
Packit bcfb5a
This is released under the same terms as perl itself.
Packit bcfb5a
Packit bcfb5a
=cut
Packit bcfb5a
Packit bcfb5a
END_PM
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_pod($fake_pm);
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ 'Software::License::Perl_5' ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_pm = <<'END_PM';
Packit bcfb5a
Packit bcfb5a
"magic true value";
Packit bcfb5a
__END__
Packit bcfb5a
Packit bcfb5a
=head1 COPYRIGHT AND LICENSE
Packit bcfb5a
Packit bcfb5a
This software is Copyright (c) 2013 by David Golden.
Packit bcfb5a
Packit bcfb5a
This is free software, licensed under:
Packit bcfb5a
Packit bcfb5a
  The Apache License, Version 2.0, January 2004
Packit bcfb5a
Packit bcfb5a
=cut
Packit bcfb5a
Packit bcfb5a
END_PM
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_pod($fake_pm);
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ 'Software::License::Apache_2_0' ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_pm = <<'END_PM';
Packit bcfb5a
"magic true value";
Packit bcfb5a
__END__
Packit bcfb5a
=head1 COPYRIGHT AND LICENSE
Packit bcfb5a
This software is Copyright (c) 2015.
Packit bcfb5a
This program is released under the following license: GPL v3
Packit bcfb5a
=cut
Packit bcfb5a
END_PM
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_pod($fake_pm);
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ 'Software::License::GPL_3' ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
    my $fake_yaml = <<'END_YAML';
Packit bcfb5a
---
Packit bcfb5a
abstract: 'packages that provide templated software licenses'
Packit bcfb5a
author:
Packit bcfb5a
  - 'Ricardo Signes <rjbs@cpan.org>'
Packit bcfb5a
distribution_type: module
Packit bcfb5a
generated_by: 'Module::Install version 0.71'
Packit bcfb5a
license: perl
Packit bcfb5a
meta-spec:
Packit bcfb5a
  url: http://module-build.sourceforge.net/META-spec-v1.3.html
Packit bcfb5a
  version: 1.3
Packit bcfb5a
name: Software-License
Packit bcfb5a
no_index:
Packit bcfb5a
  directory:
Packit bcfb5a
    - inc
Packit bcfb5a
    - t
Packit bcfb5a
requires:
Packit bcfb5a
  Class::ISA: 0.000
Packit bcfb5a
  Sub::Install: 0.000
Packit bcfb5a
  Text::Template: 0.000
Packit bcfb5a
  perl: 5.6.0
Packit bcfb5a
tests: 't/*.t xt/*.t'
Packit bcfb5a
version: 0.002
Packit bcfb5a
END_YAML
Packit bcfb5a
Packit bcfb5a
    my @guesses = Software::LicenseUtils->guess_license_from_meta_yml(
Packit bcfb5a
      $fake_yaml
Packit bcfb5a
    );
Packit bcfb5a
Packit bcfb5a
    is_deeply(
Packit bcfb5a
      \@guesses,
Packit bcfb5a
      [ 'Software::License::Perl_5' ],
Packit bcfb5a
      "guessed okay"
Packit bcfb5a
    );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_yaml = <<'END_YAML';
Packit bcfb5a
---
Packit bcfb5a
abstract: 'packages that provide templated software licenses'
Packit bcfb5a
author:
Packit bcfb5a
  - 'Ricardo Signes <rjbs@cpan.org>'
Packit bcfb5a
distribution_type: module
Packit bcfb5a
generated_by: 'Module::Install version 0.71'
Packit bcfb5a
license: gpl
Packit bcfb5a
meta-spec:
Packit bcfb5a
  url: http://module-build.sourceforge.net/META-spec-v1.3.html
Packit bcfb5a
  version: 1.3
Packit bcfb5a
name: Software-License
Packit bcfb5a
no_index:
Packit bcfb5a
  directory:
Packit bcfb5a
    - inc
Packit bcfb5a
    - t
Packit bcfb5a
requires:
Packit bcfb5a
  Class::ISA: 0.000
Packit bcfb5a
  Sub::Install: 0.000
Packit bcfb5a
  Text::Template: 0.000
Packit bcfb5a
  perl: 5.6.0
Packit bcfb5a
tests: 't/*.t xt/*.t'
Packit bcfb5a
version: 0.002
Packit bcfb5a
END_YAML
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_meta(
Packit bcfb5a
    $fake_yaml
Packit bcfb5a
  );
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ qw(
Packit bcfb5a
      Software::License::GPL_1
Packit bcfb5a
      Software::License::GPL_2
Packit bcfb5a
      Software::License::GPL_3
Packit bcfb5a
    ) ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_json = <<'END_JSON';
Packit bcfb5a
{
Packit bcfb5a
   "resources" : {
Packit bcfb5a
      "repository" : "http://github.com/rjbs/dist-zilla"
Packit bcfb5a
   },
Packit bcfb5a
   "generated_by" : "Dist::Zilla::Plugin::MetaJSON version 1.091370",
Packit bcfb5a
   "version" : "1.091370",
Packit bcfb5a
   "name" : "Dist-Zilla",
Packit bcfb5a
   "requires" : {
Packit bcfb5a
      "DateTime" : "0.44",
Packit bcfb5a
      "Config::INI::MVP::Reader" : "0.018",
Packit bcfb5a
      "Pod::Eventual" : "0",
Packit bcfb5a
      "App::Cmd" : "0.200",
Packit bcfb5a
      "String::RewritePrefix" : "0.002",
Packit bcfb5a
      "Data::Section" : "0.004",
Packit bcfb5a
      "File::chdir" : "0",
Packit bcfb5a
      "YAML::XS" : "0",
Packit bcfb5a
      "String::Formatter" : "0",
Packit bcfb5a
      "Perl::Version" : "0",
Packit bcfb5a
      "autobox" : "2.53",
Packit bcfb5a
      "Software::License" : "0",
Packit bcfb5a
      "Archive::Tar" : "0",
Packit bcfb5a
      "MooseX::ClassAttribute" : "0",
Packit bcfb5a
      "List::MoreUtils" : "0",
Packit bcfb5a
      "Moose" : "0.65",
Packit bcfb5a
      "ExtUtils::Manifest" : "1.54",
Packit bcfb5a
      "String::Flogger" : "1",
Packit bcfb5a
      "File::Find::Rule" : "0",
Packit bcfb5a
      "Mixin::ExtraFields::Param" : "0",
Packit bcfb5a
      "File::HomeDir" : "0",
Packit bcfb5a
      "ExtUtils::MakeMaker" : "0",
Packit bcfb5a
      "CPAN::Uploader" : "0",
Packit bcfb5a
      "Moose::Autobox" : "0.09",
Packit bcfb5a
      "Test::More" : "0",
Packit bcfb5a
      "MooseX::Types::Path::Class" : "0",
Packit bcfb5a
      "Hash::Merge::Simple" : "0",
Packit bcfb5a
      "File::Temp" : "0",
Packit bcfb5a
      "Path::Class" : "0",
Packit bcfb5a
      "Text::Template" : "0"
Packit bcfb5a
   },
Packit bcfb5a
   "abstract" : "distribution builder; installer not included!",
Packit bcfb5a
   "author" : [
Packit bcfb5a
      "Ricardo SIGNES <rjbs@cpan.org>"
Packit bcfb5a
   ],
Packit bcfb5a
   "license" : "perl"
Packit bcfb5a
}
Packit bcfb5a
END_JSON
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_meta(
Packit bcfb5a
    $fake_json
Packit bcfb5a
  );
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ 'Software::License::Perl_5' ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a
Packit bcfb5a
{
Packit bcfb5a
  my $fake_pm = <<'END_PM';
Packit bcfb5a
Packit bcfb5a
"magic true value";
Packit bcfb5a
__END__
Packit bcfb5a
Packit bcfb5a
=head1 COPYRIGHT AND LICENSE
Packit bcfb5a
Packit bcfb5a
唐鳳 has dedicated the work to the Commons by waiving all of his or her rights to the work worldwide under copyright law and all related or neighboring legal rights he or she had in the work, to the extent allowable by law.
Packit bcfb5a
Packit bcfb5a
Works under CC0 do not require attribution. When citing the work, you should not imply endorsement by the author.
Packit bcfb5a
Packit bcfb5a
This work is published from Taiwan.
Packit bcfb5a
Packit bcfb5a
L<http://creativecommons.org/publicdomain/zero/1.0>
Packit bcfb5a
Packit bcfb5a
=cut
Packit bcfb5a
Packit bcfb5a
END_PM
Packit bcfb5a
Packit bcfb5a
  my @guesses = Software::LicenseUtils->guess_license_from_pod($fake_pm);
Packit bcfb5a
Packit bcfb5a
  is_deeply(
Packit bcfb5a
    \@guesses,
Packit bcfb5a
    [ 'Software::License::CC0_1_0' ],
Packit bcfb5a
    "guessed okay"
Packit bcfb5a
  );
Packit bcfb5a
}
Packit bcfb5a