[BACK]Return to tags.t CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo-REST-API / t / GET

File: [local] / todotxt / Text-Todo-REST-API / t / GET / tags.t (download)

Revision 1.7, Sun Feb 14 06:14:57 2010 UTC (14 years, 4 months ago) by andrew
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +11 -5 lines

Get available tags if we don't ask for a specific tag

#===============================================================================
#
#         FILE:  GET/tags.t
#
#  DESCRIPTION:  Test Text::Todo::REST::API
#
#       AUTHOR:  Andrew Fresh (AAF), andrew@cpan.org
#      COMPANY:  Red River Communications
#      CREATED:  01/07/10 19:11
#     REVISION:  $AFresh1: tags.t,v 1.7 2010/02/14 06:14:57 andrew Exp $
#===============================================================================

use strict;
use warnings;

use Test::More tests => 10;
my $api_class;
my $class;

BEGIN {
    $api_class = 'Text::Todo::REST::API';
    $class     = 'Text::Todo::REST::API::Actions::GET';

    use_ok( $api_class, "use $api_class" );
    use_ok( $class,     "use $class" );
}

diag("Testing GET tags $class $Text::Todo::REST::API::Actions::GET::VERSION");

my $api = new_ok( $api_class, [ { todo_dir => 't/lists' } ] );
my $action = new_ok($class);

my %tags = (
    undef   => { 'context' => '@', 'project' => '+' },
    project => [ 'delete', 'dos', 'uno' ],
    context => [ 'one',    'two' ],
);

foreach my $key ( keys %tags ) {
    my $tag = $key;
    if ($tag eq 'undef') {
        $tag = undef;
    }

    my $tags;
    ok( $tags = $action->get_tags( $api->_todo, $tag ), "Get [$key] tags" );
    is_deeply( $tags, $tags{$key}, 'got expected ' . $key. 's' );
}