DBIx-Class-InflateColumn-Serializer-Sereal
view release on metacpan or search on metacpan
t/basic-oversize.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Path::Tiny;
use Test::Fatal qw( exception );
require DBI;
require DBD::SQLite;
require DBIx::Class::InflateColumn::Serializer;
require DBIx::Class::Core;
require DBIx::Class::InflateColumn::Serializer::Sereal;
{
package Test::Schema::Result::Item;
use parent 'DBIx::Class::Core';
__PACKAGE__->load_components( 'InflateColumn::Serializer', 'Core' );
__PACKAGE__->table('item');
__PACKAGE__->add_column( itemid => { data_type => 'integer' }, );
__PACKAGE__->set_primary_key('itemid');
__PACKAGE__->add_column(
data => {
data_type => 'text',
size => 4,
serializer_class => 'Sereal',
}
);
__PACKAGE__->source_name('Item');
$INC{'Test/Schema/Result/Item.pm'} = 1;
}
{
package Test::Schema;
use parent 'DBIx::Class::Schema';
__PACKAGE__->load_classes('Result::Item');
$INC{'Test/Schema.pm'} = 1;
}
my $wd = Path::Tiny->tempdir;
my $db_path = $wd->child('my.db');
my $cstr = 'dbi:SQLite:' . $db_path;
{
my $dbh = DBI->connect($cstr);
my $sth = $dbh->prepare('CREATE TABLE item ( itemid, data )');
$sth->execute();
}
my $schema = Test::Schema->connect($cstr);
{
package Test::MockItem;
sub new {
my $class = shift;
return bless {@_}, $class;
}
sub good {
return 1 if $_[0]->{good};
return;
}
}
my $x = exception {
( run in 1.195 second using v1.01-cache-2.11-cpan-54e63673c56 )