Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use strict;
- use warnings;
- use Tie::IxHash;
- use Template;
- use Test::More;
- tie my %hash, 'Tie::IxHash';
- %hash = ('one' => 1, 'two' => 2, 'three' => 3);
- my %vars = ('hash' => %hash);
- is_deeply([keys $vars{'hash'}], ['one', 'two', 'three'], 'key order');
- is_deeply([values $vars{'hash'}], [1, 2, 3], 'value order');
- my $t = Template->new(STRICT => 1) || die(Template->error());
- my $template = '[% FOREACH k IN hash %][% k.value %][% END %]';
- my $output = '';
- $t->process($template, %vars, $output) || die $t->error();
- is($output, '123', 'templatized hash order');
- done_testing(3);
- ok 1 - key order
- ok 2 - value order
- not ok 3 - templatized hash order
- # Failed test 'templatized hash order'
- # at t/wtf.t line 18.
- # got: '132'
- # expected: '123'
- 1..3
- # Looks like you failed 1 test of 3.
- #!/usr/bin/env perl
- use strict;
- use warnings;
- use Tie::IxHash;
- use Template;
- use Test::More;
- tie my %hash, 'Tie::IxHash';
- %hash = ('one' => 1, 'two' => 2, 'three' => 3);
- is_deeply([keys %hash], ['one', 'two', 'three'], 'key order');
- is_deeply([values %hash], [1, 2, 3], 'value order');
- my @key_order = keys %hash;
- my %vars = ( 'hash' => %hash, key_order => @key_order );
- my $t = Template->new(STRICT => 1) || die(Template->error());
- my $template = '[% FOREACH k IN key_order %][% hash.$k %][% END %]';
- my $output = '';
- $t->process($template, %vars, $output) || die $t->error();
- is($output, '123', 'templatized hash order');
- done_testing(3);
- ok 1 - key order
- ok 2 - value order
- ok 3 - templatized hash order
- 1..3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement