NAME
Sub::Spec::Examples - Various spec'ed functions, for examples and testing
VERSION
version 0.03
SYNOPSIS
use Sub::Spec::Examples qw(delay);
delay();
DESCRIPTION
This module and its submodules contain an odd mix of various functions, mostly simple ones, each with its Sub::Spec spec. Mostly used for testing spec or various Sub::Spec modules.
FUNCTIONS
None are exported by default, but they are exportable.
delay(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Sleep, by default for 10 seconds.
Can be used to test time_limit clause.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
Arguments (*
denotes required arguments):
n* => int (default
10
)Number of seconds to sleep.
per_second* => bool (default
0
)Whether to sleep(1) for n times instead of sleep(n).
dies(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Dies tragically.
Can be used to test exception handling.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
No known arguments at this time.
err(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Return error response.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
Arguments (*
denotes required arguments):
code* => int (default
500
)Error code to return.
gen_array(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Generate an array of specified length.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
Arguments (*
denotes required arguments):
len* => int
Array length.
gen_hash(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Generate a hash with specified number of pairs.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
Arguments (*
denotes required arguments):
pairs* => int
Number of pairs.
noop(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Do nothing, return original argument.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
This function is declared as pure, meaning it does not change any external state or have any side effects.
Arguments (*
denotes required arguments):
arg* =>
Argument.
randlog(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Produce some random Log::Any log messages.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
Arguments (*
denotes required arguments):
n* => int (default
10
)Number of log messages to produce.
min_level* => str (default
"fatal"
)Value must be one of:
["trace", "info", "warn", "debug", "error", "fatal"]
Minimum level.
max_level* => str (default
"trace"
)Value must be one of:
["trace", "info", "warn", "debug", "error", "fatal"]
Maximum level.
SEE ALSO
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.