From 43d589832eae22604c1f53937bc97bc5394c3114 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 26 Mar 2014 20:26:26 +0000 Subject: [PATCH] Bug 11906: regression test for using DBIC to store & fetch UTF8 strings This patch adds a regression test for verifying that a DBIx::Class schema object initialized by Koha database sets up the database connection to correct store and retrieve UTF8 values as Perl utf8 strings. To test: [1] Apply this patch. [2] Run prove -v t/db_dependent/Koha_Database.t [3] The test should fail. [4] Apply the main patch for this bug, then do step 2 again. [5] The test should pass. Signed-off-by: Galen Charlton Signed-off-by: Chris Cormack --- t/db_dependent/Koha_Database.t | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/t/db_dependent/Koha_Database.t b/t/db_dependent/Koha_Database.t index a030078..8e78e12 100644 --- a/t/db_dependent/Koha_Database.t +++ b/t/db_dependent/Koha_Database.t @@ -1,10 +1,10 @@ #!/usr/bin/perl # -use strict; -use warnings; +use Modern::Perl; +use utf8; -use Test::More tests => 9; +use Test::More tests => 10; BEGIN { use_ok('Koha::Database'); @@ -25,3 +25,18 @@ ok( $new_schema = $database->new_schema(), 'Try to get a new schema' ); ok( $database->set_schema($new_schema), 'Switch to new schema' ); ok( $database->restore_schema(), 'Switch back' ); +# run in a transaction +$schema->storage->txn_begin(); + +# clear the way +$schema->resultset('Category')->search({ categorycode => 'GIFT-RUS' })->delete; +my $gift = 'подарок'; +$schema->resultset('Category')->create({ + categorycode => 'GIFT-RUS', + description => $gift, +}); +my $desc = $schema->resultset('Category')->search({ + categorycode => 'GIFT-RUS', +})->single->get_column('description'); +is($desc, $gift, 'stored and retrieved UTF8 string'); +$schema->storage->txn_rollback(); -- 1.8.3.2