Added support for handling Class::DBI::Column in CDBICompat
[dbsrgits/DBIx-Class.git] / t / cdbi / 71_column_object.t
diff --git a/t/cdbi/71_column_object.t b/t/cdbi/71_column_object.t
new file mode 100644 (file)
index 0000000..cc998c3
--- /dev/null
@@ -0,0 +1,29 @@
+use strict;
+use warnings;
+
+# Columns in CDBI could be defined as Class::DBI::Column objects rather than
+# or as well as with __PACKAGE__->columns();
+
+use Test::More;
+
+use lib 't/cdbi/testlib';
+use ColumnObject;
+
+ok(ColumnObject->can('db_Main'), 'set_db()');
+is(ColumnObject->__driver, 'SQLite', 'Driver set correctly');
+
+ColumnObject->create({
+  columna => 'Test Data',
+  columnb => 'Test Data 2',
+});
+
+my $column_object = ColumnObject->retrieve(columna => 'Test Data');
+$column_object->columnb_as_write('Test Data Written');
+$column_object->update;
+$column_object = ColumnObject->retrieve(columna => 'Test Data');
+
+is($column_object->columna_as_read => 'Test Data', 'Read column via accessor');
+is($column_object->columna         => 'Test Data', 'Real column returns right data');
+is($column_object->columnb         => 'Test Data Written', 'ColumnB wrote via mutator');
+
+done_testing;