version 1.1, 2010/01/31 03:58:58 |
version 1.3, 2010/02/13 21:45:54 |
|
|
#=============================================================================== |
#=============================================================================== |
# |
# |
# FILE: text.t |
# FILE: json.t |
# |
# |
# DESCRIPTION: Test Text::Todo::REST::API::Representations::text |
# DESCRIPTION: Test Text::Todo::REST::API::Representations::json |
# |
# |
# AUTHOR: Andrew Fresh (AAF), andrew@cpan.org |
# AUTHOR: Andrew Fresh (AAF), andrew@cpan.org |
# COMPANY: Red River Communications |
# COMPANY: Red River Communications |
# CREATED: 01/07/10 19:11 |
# CREATED: 01/07/10 19:11 |
# REVISION: $AFresh1: text.t,v 1.10 2010/01/23 07:04:43 andrew Exp $ |
# REVISION: $AFresh1: json.t,v 1.2 2010/01/31 04:24:55 andrew Exp $ |
#=============================================================================== |
#=============================================================================== |
|
|
use strict; |
use strict; |
use warnings; |
use warnings; |
|
|
use Test::More tests => 19; |
use Test::More tests => 27; |
|
|
my $class; |
my $class; |
my $format; |
my $format; |
|
|
|
use JSON; |
|
use Test::JSON; |
|
|
BEGIN { |
BEGIN { |
$format = 'json'; |
$format = 'json'; |
$class = 'Text::Todo::REST::API::Representations::' . $format; |
$class = 'Text::Todo::REST::API::Representations::' . $format; |
|
|
my $result; |
my $result; |
my $api = new_ok($class); |
my $api = new_ok($class); |
|
|
is( $api->content_type, 'text/plain', 'Check content_type' ); |
is( $api->content_type, 'application/json', 'Check content_type' ); |
|
|
my $files = ['todo.txt']; |
my $files = ['todo.txt']; |
my $files_render = join q{}, map "$_\n", @{$files}; |
|
|
|
$result = undef; |
$result = undef; |
ok( ($result) = $api->render_files( $format, $files ), 'render files' ); |
ok( ($result) = $api->render_files( $format, $files ), 'render files' ); |
is_deeply( $result, $files_render, 'files render as expected' ); |
is_valid_json($result, 'files json is valid'); |
|
is_json( $result, to_json($files), 'files render as expected' ); |
|
|
my $list = [ |
my $list = [ |
{ 'text' => '(A) entry 1 @one +uno', |
{ 'text' => '(A) entry 1 @one +uno', |
|
|
} |
} |
]; |
]; |
|
|
my $list_render = join q{}, map { $_->{text} . "\n" } @{$list}; |
|
|
|
$result = undef; |
$result = undef; |
ok( eval { $result = $api->render_list( $format, $list ) }, 'render_list' ); |
ok( eval { $result = $api->render_list( $format, $list ) }, 'render_list' ); |
is( $result, $list_render, 'Got expected render_list result' ); |
is_valid_json($result, 'list json is valid'); |
|
is_json( $result, to_json($list), 'Got expected render_list result' ); |
|
|
foreach my $e ( @{$list} ) { |
foreach my $e ( @{$list} ) { |
my $result; |
my $result; |
ok( eval { $result = $api->render_entry( $format, $e ) }, |
ok( $result = $api->render_entry( $format, $e ), 'render_entry' ); |
'render_entry' ); |
is_valid_json($result, 'entry json is valid'); |
is( $result, $e->{text} . "\n", 'Got correct render_entry result' ); |
is_json( $result, to_json($e), 'Got correct render_entry result' ); |
} |
} |