NAME Setup::Test - Various simple setup routines for testing VERSION version 0.03 SYNOPSIS use Setup::Unix::Group 'setup_text_case'; # simple usage (doesn't save undo data) my $text = 'foo bar baz'; my $res = setup_text_case text_ref => \$text, case => 'upper'; die unless $res->[0] == 200 || $res->[0] == 304; # perform setup and save undo data (undo data should be serializable) $res = setup_text_case ..., -undo_action => 'do'; die unless $res->[0] == 200 || $res->[0] == 304; my $undo_data = $res->[3]{undo_data}; # perform undo $res = setup_text_case ..., -undo_action => "undo", -undo_data=>$undo_data; die unless $res->[0] == 200 || $res->[0] == 304; DESCRIPTION This module provides simple setup functions, useful for testing purposes. This module is part of the Setup modules family. This module uses Log::Any logging framework. This module's functions have Sub::Spec specs. THE SETUP MODULES FAMILY I use the "Setup::" namespace for the Setup modules family. See Setup::File for more details on the goals, characteristics, and implementation of Setup modules family. FUNCTIONS None are exported by default, but they are exportable. setup_text_case(%args) -> [STATUS_CODE, ERR_MSG, RESULT] Change text case. On do, will change text case to UPPER/lower/Title Case. Will save the original text for undo. On undo, will restore the original text. 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 supports undo operation. See Sub::Spec::Clause::features for details on how to perform do/undo/redo. This function supports dry-run (simulation) mode. To run in dry-run mode, add argument "-dry_run" => 1. Arguments ("*" denotes required arguments): * case* => *str* Value must be one of: ["upper", "lower", "title"] Case style. * text_ref* => *str* Reference to text. SEE ALSO Other modules in Setup:: namespace. AUTHOR Steven Haryanto 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.