* added a test for UTF8Columns
Daisuke Murase [Fri, 3 Mar 2006 04:12:33 +0000 (04:12 +0000)]
t/basicrels/25utf8.t [new file with mode: 0644]
t/helperrels/25utf8.t [new file with mode: 0644]
t/run/25utf8.tl [new file with mode: 0644]

diff --git a/t/basicrels/25utf8.t b/t/basicrels/25utf8.t
new file mode 100644 (file)
index 0000000..c5fe364
--- /dev/null
@@ -0,0 +1,7 @@
+use Test::More;
+use lib qw(t/lib);
+use DBICTest;
+use DBICTest::BasicRels;
+
+require "t/run/25utf8.tl";
+run_tests(DBICTest->schema);
diff --git a/t/helperrels/25utf8.t b/t/helperrels/25utf8.t
new file mode 100644 (file)
index 0000000..ad3fe14
--- /dev/null
@@ -0,0 +1,7 @@
+use Test::More;
+use lib qw(t/lib);
+use DBICTest;
+use DBICTest::HelperRels;
+
+require "t/run/25utf8.tl";
+run_tests(DBICTest->schema);
diff --git a/t/run/25utf8.tl b/t/run/25utf8.tl
new file mode 100644 (file)
index 0000000..278dde4
--- /dev/null
@@ -0,0 +1,23 @@
+sub run_tests {
+    my $schema = shift;
+
+    eval 'use Encode ; 1'
+        or plan skip_all, 'Install Encode run this test';
+
+    plan tests => 2;
+
+    DBICTest::Schema::Artist->load_components('UTF8Columns');
+    DBICTest::Schema::Artist->utf8_columns('name');
+    Class::C3->reinitialize();
+
+    my $artist = $schema->resultset("Artist")->create( { name => 'uni' } );
+    ok( Encode::is_utf8( $artist->name ), 'got name with utf8 flag' );
+
+    my $utf8_char = 'uniuni';
+    Encode::_utf8_on($utf8_char);
+    $artist->name($utf8_char);
+    ok( !Encode::is_utf8( $artist->{_column_data}->{name} ),
+        'store utf8 less chars' );
+}
+
+1;