From 1d65a71cf617459eb24d3d024987a73e58180db7 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 11 Nov 2022 15:14:52 -0300 Subject: [PATCH] Bug 24606: Regression tests Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/Koha/Item/Template.t | 31 +++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/t/db_dependent/Koha/Item/Template.t b/t/db_dependent/Koha/Item/Template.t index 20eb6269b90..6acb5c6ad0a 100755 --- a/t/db_dependent/Koha/Item/Template.t +++ b/t/db_dependent/Koha/Item/Template.t @@ -19,6 +19,9 @@ use Modern::Perl; +use Encode; +use JSON; + use Koha::Database; use t::lib::TestBuilder; @@ -31,18 +34,34 @@ my $builder = t::lib::TestBuilder->new; use_ok("Koha::Item::Template"); subtest 'Serializing and deserializing contents' => sub { + plan tests => 2; $schema->storage->txn_begin; - my $data = { location => 'test' }; - my $template = Koha::Item::Template->new({ - name => 'My template', + my $data = { + location => 'test', + cost => "2\x{20ac}", + }; + + my $template = Koha::Item::Template->new( + { name => 'My template', contents => $data, - })->store(); + } + )->store(); + + my $encoded_data; + foreach my $key ( keys %{$data} ) { + $encoded_data->{$key} = Encode::encode('UTF-8', $data->{$key}); + } + + is( $template->contents, JSON->new->utf8->encode($data), 'Contents serialized correctly' ); - is( $template->contents, '{"location":"test"}', 'Contents serialized correctly' ); - is( $template->decoded_contents->{location}, 'test', 'Contents deserialized correctly' ); + is_deeply( + $template->decoded_contents, + $encoded_data, + 'Contents deserialized and UTF-8 encoded correctly' + ); $schema->storage->txn_rollback; }; -- 2.38.1