use lib 't', 'lib';
use strict;
use warnings;
use Test::More;
eval "use Encode";
my $enc = ! $@;
use Spoon::ContentObject;
plan tests => 8;
my $database_directory;
{
no warnings;
package Spoon::ContentObject;
sub database_directory { $database_directory }
undef &Spoon::ContentObject::content;
field 'content';
}
{
$database_directory = 't/content';
my $object = Spoon::ContentObject->new(id => 'test1');
$object->load_content;
SKIP: {
skip "Encode not installed", 1 unless($enc);
ok( Encode::is_utf8( $object->content ), 'object content is utf8' );
}
is( $object->content, "This file has no utf8 in it.\n",
'test content was loaded' );
io->dir('t/tmp')->mkpath;
$database_directory = 't/tmp';
$object->force(1);
$object->store_content;
$object->load_content;
SKIP: {
skip "Encode not installed", 1 unless($enc);
ok( Encode::is_utf8( $object->content ), 'object content is utf8 after save/load' );
}
is( $object->content, "This file has no utf8 in it.\n",
'test content was loaded after save/load' );
}
{
$database_directory = 't/content';
my $object = Spoon::ContentObject->new(id => 'test2');
$object->load_content;
SKIP: {
skip "Encode not installed", 1 unless($enc);
ok( Encode::is_utf8( $object->content ), 'object content is utf8' );
}
is( $object->content, "This file has utf8 in it - \x{16A0}\x{16C7}\x{16BB}.\n",
'test content was loaded' );
io->dir('t/tmp')->mkpath;
$database_directory = 't/tmp';
$object->force(1);
$object->store_content;
$object->load_content;
SKIP: {
skip "Encode not installed", 1 unless($enc);
ok( Encode::is_utf8( $object->content ), 'object content is utf8 after save/load' );
}
is( $object->content, "This file has utf8 in it - \x{16A0}\x{16C7}\x{16BB}.\n",
'test content was loaded after save/load' );
}