Test::Data::Scalar -- test functions for scalar variables
use Test::Data qw(Scalar);
This modules provides a collection of test utilities for scalar variables. Load the module through Test::Data.
Ok if the SCALAR is a blessed reference.
Ok if the SCALAR is defined.
Ok if the SCALAR is undefined.
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; }
Ok if the SCALAR is numerically greater than BOUND.
Ok if the length of SCALAR is LENGTH.
Ok if the SCALAR is numerically less than BOUND.
Ok is the length of SCALAR is less than or equal to LENGTH.
Ok is the length of SCALAR is greater than or equal to LENGTH.
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.
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.
Ok if the string in SCALAR sorts between the string in LOWER and the string in UPPER, ASCII-betically.
Ok is the SCALAR is read-only.
Ok if the SCALAR is a reference.
Ok if REF1 is the same reference type as REF2.
Ok is the SCALAR is not a weak reference.
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.)
Ok if the SCALAR is not tainted.
Ok if the SCALAR is a weak reference.
* add is_a_filehandle test
* add is_vstring test
Scalar::Util, Test::Data, Test::Data::Array, Test::Data::Function, Test::Data::Hash, Test::Builder
This source is in Github:
https://github.com/briandfoy/test-data
brian d foy, <bdfoy@cpan.org>
Copyright (c) 2002-2012 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.