[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: perl module documentation patches, segfault
From: |
Ben Pfaff |
Subject: |
Re: perl module documentation patches, segfault |
Date: |
Sun, 01 Feb 2009 19:09:07 -0800 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
John Darrington <address@hidden> writes:
> On Sun, Feb 01, 2009 at 02:50:01PM -0800, Ben Pfaff wrote:
> I noticed that the Perl module documentation doesn't say how to
> tell how you've arrived at the end of the dictionary. It seems
> that get_var() returns undef in this case, thus:
>
> diff --git a/perl-module/lib/PSPP.pm b/perl-module/lib/PSPP.pm
> --- a/perl-module/lib/PSPP.pm
> +++ b/perl-module/lib/PSPP.pm
> @@ -90,6 +90,8 @@ sub new
> =head3 get_var ($idx)
>
> Returns the C<idx>th variable from the dictionary.
> +Returns undef if C<idx> is greater than or equal to the number
> +of variables in the dictionary.
>
> =cut
>
> You're right. Feel free to commit that.
It seems that my real issue was that get_var_cnt() was available
but not documented (and so I didn't notice that it was
available).
Any comments on this commit?
commit 56deaed8bc467c5cb6f47a106b274f354efef225
Author: Ben Pfaff <address@hidden>
Date: Sun Feb 1 19:06:52 2009 -0800
perl-module: Document and test PSPP::Dict::get_var_cnt().
This function was present but not documented or tested.
diff --git a/perl-module/lib/PSPP.pm b/perl-module/lib/PSPP.pm
index e9e3215..2957abb 100644
--- a/perl-module/lib/PSPP.pm
+++ b/perl-module/lib/PSPP.pm
@@ -87,6 +87,10 @@ sub new
=pod
+=head3 get_var_cnt ()
+
+Returns the number of variables in the dictionary.
+
=head3 get_var ($idx)
Returns the C<idx>th variable from the dictionary.
diff --git a/perl-module/t/Pspp.t b/perl-module/t/Pspp.t
index 030a342..04b76a5 100644
--- a/perl-module/t/Pspp.t
+++ b/perl-module/t/Pspp.t
@@ -6,7 +6,7 @@
# change 'tests => 1' to 'tests => last_test_to_print';
-use Test::More tests => 32;
+use Test::More tests => 37;
use Text::Diff;
use File::Temp qw/ tempfile tempdir /;
BEGIN { use_ok('PSPP') };
@@ -67,6 +67,7 @@ sub run_pspp_syntax_cmp
{
my $d = PSPP::Dict->new();
ok (ref $d, "Dictionary Creation");
+ ok ($d->get_var_cnt () == 0);
$d->set_label ("My Dictionary");
$d->set_documents ("These Documents");
@@ -75,17 +76,21 @@ sub run_pspp_syntax_cmp
my $var0 = PSPP::Var->new ($d, "le");
ok (!ref $var0, "Trap illegal variable name");
+ ok ($d->get_var_cnt () == 0);
$var0 = PSPP::Var->new ($d, "legal");
ok (ref $var0, "Accept legal variable name");
+ ok ($d->get_var_cnt () == 1);
my $var1 = PSPP::Var->new ($d, "legal");
ok (!ref $var1, "Trap duplicate variable name");
+ ok ($d->get_var_cnt () == 1);
$var1 = PSPP::Var->new ($d, "money",
(fmt=>PSPP::Fmt::DOLLAR,
width=>4, decimals=>2) );
ok (ref $var1, "Accept valid format");
+ ok ($d->get_var_cnt () == 2);
$d->set_weight ($var1);
--
"To the engineer, the world is a toy box full of sub-optimized and
feature-poor toys."
--Scott Adams