#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 2;
BEGIN { push(@INC, "lib", "t"); }
use Net::Amazon::MechanicalTurk::Template;
sub nlfix {
my $text = shift;
$text =~ s/\r//gm;
return $text;
}
my $file = "t/templates/60-template.rt";
my $template = Net::Amazon::MechanicalTurk::Template->compile($file);
ok($template, "Compiled mtt file.");
my $params = {
title => "The Big One",
subTitle => "hmmm",
genre => "Who knows?",
author => "Bob",
family => {
kid => ['Toby', 'Charlie'],
wife => 'Meg'
}
};
print Net::Amazon::MechanicalTurk::DataStructure->toString($params), "\n";
my $text = $template->execute($params);
my $expected = <<END_TXT;
Title: The Big Onehmmm-X
Genre: Who knows?
Author: Bob
Missing1:
Escaped: \${}
Escaped2: \$\\{}
Kid-1: Toby
Kid-2: Charlie
Wife: Meg
END_TXT
print $expected, "\n";
$expected =~ s/\s*$//s;
print Net::Amazon::MechanicalTurk::DataStructure->toString($params), "\n";
my $p = Net::Amazon::MechanicalTurk::DataStructure->toProperties($params);
while (my ($k,$v) = each %$p) {
printf " [%s] = [%s]\n", $k, $v;
}
print "----\n", $text, "\n---------\n";
$text = nlfix($text);
$expected = nlfix($expected);
is($text, $expected, "rt template execute");
syntax highlighted by Code2HTML, v. 0.9.1