| SMS-Send documentation | Contained in the SMS-Send distribution. |
SMS::Send::Test - SMS::Send International-Class Testing Driver
# Create a testing sender my $send = SMS::Send->new( 'Test' ); # Clear the message trap $send->clear; # Send a message $send->send_sms( text => 'Hi there', to => '+61 (4) 1234 5678', ); # Get the message from the trap my @messages = $send->messages;
SMS::Send supports two classes of drivers.
An international class named in the format SMS::Send::Foo, which only
accept international numbers in +1 XXX XXXXX format, and
regional-context drivers in the format SMS::Send::XX::Foo which will
also accept a non-leading-plus number in the format applicable within that
region (in the above case, Australia).
SMS::Send::Test is the testing driver for the international class of drivers. Except for the name, it is otherwise identical to SMS::Send::AU::Test.
Its two roles are firstly to always exist (be installed) and secondly to act as a "trap" for messages. Messages sent via SMS::Send::Test always succeed, and the messages can be recovered for testing after sending.
Note that the trap is done on a per-driver-handle basis, and is not shared between multiple driver handles.
SMS::Send::Test inherits all the methods of the parent SMS::Send::Driver class, and adds the following.
The messages method retrieves as a list all of the messages in the
message trap.
The clear method clears the message trap. This should be done before
each chunk of test code to ensure you are starting from a known state.
Returns true as a convenience. =cut
Bugs should be reported via the CPAN bug tracker at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SMS-Send
For other issues, contact the author.
Adam Kennedy <adamk@cpan.org>, http://ali.as/
Copyright 2005 Adam Kennedy.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
| SMS-Send documentation | Contained in the SMS-Send distribution. |
package SMS::Send::Test;
use strict; use base 'SMS::Send::Driver'; use vars qw{$VERSION}; BEGIN { $VERSION = '0.05'; } ##################################################################### # Constructor sub new { my $class = shift; # Create the object my $self = bless { messages => [], }, $class; $self; } sub send_sms { my $self = shift; my $messages = $self->{messages}; push @$messages, [ @_ ]; 1; }
sub messages { my $self = shift; return @{$self->{messages}}; }
sub clear { my $self = shift; $self->{messages} = []; 1; } 1;