use strict; use warnings; use English qw(-no_match_vars); use FindBin qw($Bin); use lib "$Bin/lib"; use PPI; use PPI::Document; use Readonly; use Test::More; use Perl::Metrics::Lite::Analysis::Util; Readonly::Scalar my $TEST_DIRECTORY => "$Bin/test_files"; Readonly::Scalar my $EMPTY_STRING => q{}; subtest "get_node_length" => sub { my $test_file = "$TEST_DIRECTORY/not_a_perl_file"; my $one_line_of_code = q{print "Hello world\n";}; my $one_line_node = PPI::Document->new( \$one_line_of_code ); is( Perl::Metrics::Lite::Analysis::Util::get_node_length($one_line_node), 1, 'get_node_length for one line of code.' ); my $four_lines_of_code = <<'EOS'; use Foo; my $object = Foo->new; # This is a comment. my $result = $object->calculate(); return $result; EOS my $four_line_node = PPI::Document->new( \$four_lines_of_code ); is( Perl::Metrics::Lite::Analysis::Util::get_node_length($four_line_node), 4, 'get_node_length for 4 lines of code.' ) || diag $four_lines_of_code; done_testing; }; done_testing;