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, ASCIIbetically.
 readonly_ok( SCALAR )

Ok is the SCALAR is readonly.
 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 notOk 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:
https://github.com/briandfoy/testdata
AUTHOR
brian d foy, <briandfoy@pobox.com>
COPYRIGHT AND LICENSE
Copyright © 20022024, brian d foy <briandfoy@pobox.com>. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.