use Test::More tests => 10;
use strict;
use lib qw(lib);
BEGIN { use_ok( 'Net::Sieve::Script::Action' ); }
my $command = ' fileinto "INBOX.spam" ';
my $action = Net::Sieve::Script::Action->new($command);
is ( $action->command, 'fileinto', "command fileinto");
is ( $action->param, '"INBOX.spam"', "param INBOX.spam");
$action = Net::Sieve::Script::Action->new('stop');
is ( $action->command, 'stop', "command stop");
$action = Net::Sieve::Script::Action->new('redirect "bart@example.edu"');
is ( $action->command, 'redirect', "command redirect");
is ( $action->param, '"bart@example.edu"', 'param bart@example.edu');
$action = Net::Sieve::Script::Action->new('nimp "bart@example.edu"');
is ( $action->command, undef, "undef for command nimp");
$action = Net::Sieve::Script::Action->new('vacation "I am away this week.";');
is ( $action->command, 'vacation' , "vacation command");
is ( $action->param, '"I am away this week."' , "vacation param");
my $multi_line_param = 'text: some text
on multi-line
.';
my $command2 = ' reject '.$multi_line_param;
my $action2 = Net::Sieve::Script::Action->new($command2);
is ( $action2->param, $multi_line_param , "match mult-line param");