Scroll to navigation

Scalar(3pm) User Contributed Perl Documentation Scalar(3pm)

NAME

Test::Data::Scalar -- test functions for scalar variables

SYNOPSIS

        use Test::Data qw(Scalar);

DESCRIPTION

This modules provides a collection of test utilities for scalar variables. Load the module through Test::Data.

Functions

blessed_ok( SCALAR )
Ok if the SCALAR is a blessed reference.
defined_ok( SCALAR )
Ok if the SCALAR is defined.
undef_ok( SCALAR )
Ok if the SCALAR is undefined.
dualvar_ok( SCALAR )
Ok if the scalar is a dualvar.
 
How do I test this?
 
sub dualvar_ok ($;$) { my $ok = Scalar::Util::dualvar( $_[0] ); my $name = $_[1] || 'Scalar is a dualvar';
 
        $Test->ok( $ok, $name );
        $Test->diag("Expected a dualvar, didn't get it\n")
                unless $ok;
        }
    
greater_than( SCALAR, BOUND )
Ok if the SCALAR is numerically greater than BOUND.
length_ok( SCALAR, LENGTH )
Ok if the length of SCALAR is LENGTH.
less_than( SCALAR, BOUND )
Ok if the SCALAR is numerically less than BOUND.
maxlength_ok( SCALAR, LENGTH )
Ok is the length of SCALAR is less than or equal to LENGTH.
minlength_ok( SCALAR, LENGTH )
Ok is the length of SCALAR is greater than or equal to LENGTH.
number_ok( SCALAR )
Ok if the SCALAR is a number ( or a string that represents a number ).
 
At the moment, a number is just a string of digits. This needs work.
number_between_ok( SCALAR, LOWER, UPPER )
Ok if the number in SCALAR sorts between the number in LOWER and the number in UPPER, numerically.
 
If you put something that isn't a number into UPPER or LOWER, Perl will try to make it into a number and you may get unexpected results.
string_between_ok( SCALAR, LOWER, UPPER )
Ok if the string in SCALAR sorts between the string in LOWER and the string in UPPER, ASCII-betically.
readonly_ok( SCALAR )
Ok is the SCALAR is read-only.
ref_ok( SCALAR )
Ok if the SCALAR is a reference.
ref_type_ok( REF1, REF2 )
Ok if REF1 is the same reference type as REF2.
strong_ok( SCALAR )
Ok is the SCALAR is not a weak reference.
tainted_ok( SCALAR )
Ok is the SCALAR is tainted.
 
(Tainted values may seem like a not-Ok thing, but remember, when you use taint checking, you want Perl to taint data, so you should have a test to make sure it happens.)
untainted_ok( SCALAR )
Ok if the SCALAR is not tainted.
weak_ok( SCALAR )
Ok if the SCALAR is a weak reference.

TO DO

* add is_a_filehandle test
* add is_vstring test

SEE ALSO

Scalar::Util, Test::Data, Test::Data::Array, Test::Data::Function, Test::Data::Hash, Test::Builder

SOURCE AVAILABILITY

This source is in Github:
        http://github.com/briandfoy/test-data/tree/master

AUTHOR

brian d foy, "<bdfoy@cpan.org>"

COPYRIGHT AND LICENSE

Copyright (c) 2002-2009 brian d foy. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2009-02-12 perl v5.14.2