App-Test-Generator

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	- Fix strict_pod=fatal false positive: $class and $self are always treated
	  as invocants and never reported as undocumented code parameters,
	  regardless of method name.
	- Fix _extract_pod_before accumulating multiple adjacent POD blocks; it
	  now stops after the first pod token so class-level POD separated by
	  =cut does not bleed into a method's specific POD context.
	- Fix generated tests dying without done_testing() when an input parameter
	  has type arrayref or array; both types are now handled in the mandatory-
	  argument setup block in Template.pm.
	- Fix extract-schemas creating spurious schema files for Perl special blocks
	  (BEGIN, END, DESTROY, AUTOLOAD, CHECK, INIT, UNITCHECK); these are now
	  skipped in _find_methods.
	- Fix extract-schemas failing to emit new: ~ for instance methods that use
	  the my $self = $_[0] direct-index invocant style and call other instance
	  methods via $self->method() but do not dereference $self directly;
	  _detect_instance_method now recognises $_[0] as explicit_self (high
	  confidence), and _needs_object_instantiation now promotes methods that
	  call instance methods on $self even when no hash/array dereference is
	  present.
	- Fix --strict-pod false positive for methods using the my $self = $_[0]
	  calling style: add direct-index style recognition to

lib/App/Test/Generator/SchemaExtractor.pm  view on Meta::CPAN

	my ($self, $document) = @_;

	my $subs = $document->find('PPI::Statement::Sub') || [];
	my $sub_decls = $document->find('PPI::Statement') || [];

	my @methods;
	foreach my $sub (@$subs) {
		my $name = $sub->name();

		next unless defined $name;	# Skip anonymous routines
		next if $name =~ /^(BEGIN|END|DESTROY|AUTOLOAD|CHECK|INIT|UNITCHECK)$/;

		# Skip private methods unless explicitly included, or they're special
		if ($name =~ /^_/ && $name !~ /^_(new|init|build)/) {
			next unless $self->{include_private};
		}

		# Get the POD before this sub
		my $pod = $self->_extract_pod_before($sub);

		push @methods, {



( run in 0.414 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )