View | Details | Raw Unified | Return to bug 24606
Collapse All | Expand All

(-)a/t/db_dependent/Koha/Item/Template.t (-7 / +25 lines)
Lines 19-24 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Encode;
23
use JSON;
24
22
use Koha::Database;
25
use Koha::Database;
23
26
24
use t::lib::TestBuilder;
27
use t::lib::TestBuilder;
Lines 31-48 my $builder = t::lib::TestBuilder->new; Link Here
31
use_ok("Koha::Item::Template");
34
use_ok("Koha::Item::Template");
32
35
33
subtest 'Serializing and deserializing contents' => sub {
36
subtest 'Serializing and deserializing contents' => sub {
37
34
    plan tests => 2;
38
    plan tests => 2;
35
39
36
    $schema->storage->txn_begin;
40
    $schema->storage->txn_begin;
37
41
38
    my $data = { location => 'test' };
42
    my $data = {
39
    my $template = Koha::Item::Template->new({
43
        location => 'test',
40
            name => 'My template',
44
        cost    => "2\x{20ac}",
45
    };
46
47
    my $template = Koha::Item::Template->new(
48
        {   name     => 'My template',
41
            contents => $data,
49
            contents => $data,
42
    })->store();
50
        }
51
    )->store();
52
53
    my $encoded_data;
54
    foreach my $key ( keys %{$data} ) {
55
        $encoded_data->{$key} = Encode::encode('UTF-8', $data->{$key});
56
    }
57
58
    is( $template->contents, JSON->new->utf8->encode($data), 'Contents serialized correctly' );
43
59
44
    is( $template->contents, '{"location":"test"}', 'Contents serialized correctly' );
60
    is_deeply(
45
    is( $template->decoded_contents->{location}, 'test', 'Contents deserialized correctly' );
61
        $template->decoded_contents,
62
        $encoded_data,
63
        'Contents deserialized and UTF-8 encoded correctly'
64
    );
46
65
47
    $schema->storage->txn_rollback;
66
    $schema->storage->txn_rollback;
48
};
67
};
49
- 

Return to bug 24606