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.

**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.

* 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 AT cpan DOT 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.