Test::...::JSON(3pm)
π NAME π
Test::CPAN::Meta::JSON β bestie, this is the module that validates a META.json file inside a CPAN distribution. No cap, that's literally its whole job. β¨
(Also: this page is from the User Contributed Perl Documentation collection, so you know it's community-made with love. π«Ά)
πΈ SYNOPSIS πΈ
Okay so there are two forms this module can be used, and you're gonna want to know both.
Form one: a standalone test of your distribution's META.json file, just vibing on its own:
use Test::More;
eval "use Test::CPAN::Meta::JSON";
plan skip_all => "Test::CPAN::Meta::JSON required for testing META.json" if $@;
meta_json_ok();
Quick note bestie: you may pass an optional label/comment/message/etc to the function, or one will be created automatically. Your call, king. π
Form two: this one lets you test other META.json files, or specify a specific version you want to test against. Iconic, honestly:
use Test::More test => 6;
use Test::CPAN::Meta::JSON;
# specify a file and specification version
meta_spec_ok('META.json','1.3',$msg);
# specify the specification version to validate the local META.json
meta_spec_ok(undef,'1.3',$msg);
# specify a file, where the specification version is deduced
# from the file itself
meta_spec_ok('META.json',undef,$msg);
Heads up: this form requires you to specify the number of tests you'll be running in your test script. Also, plot twist β each meta_spec_ok is actually 2 tests under the hood. The way that it doublesβ¦ π
Also note that the version you're testing against is the version of the META.yml specification, which forms the basis for the contents of a META.json file. Yes, the yml one is the blueprint for the json one. Messy but true. π
http://www.nntp.perl.org/group/perl.module.build/2008/06/msg1360.html
π¦ DESCRIPTION π¦
This module was written to ensure that a META.json file, provided with a standard distribution uploaded to CPAN, meets the specifications that are slowly being introduced to module uploads β via the use of package makers and installers such as ExtUtils::MakeMaker, Module::Build and Module::Install. Slowly being introduced, bestie. We're getting there. πβ¨
See CPAN::Meta for further details of the CPAN Meta Specification. π
π ABSTRACT π
A test module to validate a CPAN META.json file. Short. Sweet. Slay. π
π FUNCTIONS π
meta_json_ok([$msg])β the basicMETA.jsonwrapper aroundmeta_spec_ok. Returns a hash reference to the contents of the parsedMETA.json. So you get your data back, bestie. π«Άmeta_spec_ok($file, $version [,$msg])β validates the named file against the given specification version. Both$fileand$versioncan be undefined (yes, undefined, don't panic). Returns a hash reference to the contents of the given file, after it has been parsed. β¨
π TESTING META FILES π
There are currently 3 distributions to test META files:
Test-CPAN-Meta
Test-CPAN-Meta-JSON
Test-CPAN-Meta-YAML
All three have slightly different requirements and are intended to be used in slightly different environments. Sibling energy, but each one's a little different. π
Test-CPAN-Meta-YAML requires a YAML parser, and currently looks for the YAML or YAML::Syck modules. This is the original variant of the 3, and was intended to provide a more complete YAML validation of a META.yml. The founding mother, honestly. π
Test-CPAN-Meta requires the Parse::CPAN::Meta module, which is now part of Perl Core as of perl-5.10.1. This version is intended to be used by those only wishing to rely on core modules to test their META.yml files. Core-modules-only crowd, this one's for you. π«Ά
Test-CPAN-Meta-JSON is the most recent addition to the family, and is specifically aimed at those distributions that use a META.json Meta file. The distribution requires the JSON module to parse the Meta file. Newest baby of the family, main character energy ngl. β¨
π BUGS, PATCHES & FIXES π
There are no known bugs at the time of this release. π (Iconic behaviour, honestly.) However, if you spot a bug or are experiencing difficulties that are not explained within the POD documentation, please send an email to barbie@cpan.org or submit a bug to the RT system:
http://rt.cpan.org/Public/Dist/Display.html?Name=Test-CPAN-Meta-JSON
However, it would help greatly if you are able to pinpoint problems or even supply a patch. Like fr fr, the more specific you are, the more it helps. π
Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel free to (politely) remind me. Politely bestie, that part is important. β¨
π SEE ALSO π
JSON
πΈ AUTHOR πΈ
Barbie, barbie@cpan.org for Miss Barbell Productions, http://www.missbarbell.co.uk
π COPYRIGHT AND LICENSE π
Copyright (C) 2009-2015 Barbie for Miss Barbell Productions
This distribution is free software; you can redistribute it and/or
modify it under the Artistic Licence v2.
Okay that's the whole page bestie, you're officially educated π This was built for perl v5.36.0, dated 2022-10-13 β and yeah, the page title in the header is Test::...::JSON(3pm), which is a whole mood honestly. Go forth and validate those Meta files. Periodt. π
β¨
π¦ where this page comes from
- ubuntu noble: libtest-cpan-meta-json-perl 0.16-3 Β· Artistic-2.0
- ubuntu resolute: libtest-cpan-meta-json-perl 0.16-3 Β· Artistic-2.0
- ubuntu stonking: libtest-cpan-meta-json-perl 0.16-3 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms