[Jifty-commit] r909 - in Jifty-DBI/trunk: . lib/Jifty/DBI
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Mon Apr 24 11:37:36 EDT 2006
Author: jesse
Date: Mon Apr 24 11:37:33 2006
New Revision: 909
Modified:
Jifty-DBI/trunk/ (props changed)
Jifty-DBI/trunk/META.yml
Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
Jifty-DBI/trunk/t/11schema_records.t
Log:
r11847 at hualien: jesse | 2006-04-24 11:20:30 -0400
Eric Wilhelm:
lib/Jifty/DBI/Record.pm - do not try to set_<foo>() a collection
t/11schema_records.t - added tests for trying to set a collection
==== END SVK PATCH BLOCK ====
Modified: Jifty-DBI/trunk/META.yml
==============================================================================
--- Jifty-DBI/trunk/META.yml (original)
+++ Jifty-DBI/trunk/META.yml Mon Apr 24 11:37:33 2006
@@ -20,7 +20,7 @@
DBIx::DBSchema: 0.28
Data::Page: 0
DateTime: 0
- DateTime::Format::Strptime: 0
+ DateTime::Format::ISO8601: 0
Encode: 2.1
Exporter::Lite: 0
Lingua::EN::Inflect: 0
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm Mon Apr 24 11:37:33 2006
@@ -195,6 +195,13 @@
return ( $self->_set( column => $column_name, value => $val ) );
};
}
+ elsif (
+ UNIVERSAL::isa( $column->refers_to, "Jifty::DBI::Collection" ) )
+ { # XXX elw: collections land here, now what?
+ $subref = sub {
+ return (0, "Collection column '$column_name' not writable")
+ };
+ }
else {
$subref = sub {
return ( $_[0]->_set( column => $column_name, value => $_[1] ) );
Modified: Jifty-DBI/trunk/t/11schema_records.t
==============================================================================
--- Jifty-DBI/trunk/t/11schema_records.t (original)
+++ Jifty-DBI/trunk/t/11schema_records.t Mon Apr 24 11:37:33 2006
@@ -9,7 +9,7 @@
BEGIN { require "t/utils.pl" }
our (@available_drivers);
-use constant TESTS_PER_DRIVER => 63;
+use constant TESTS_PER_DRIVER => 67;
my $total = scalar(@available_drivers) * TESTS_PER_DRIVER;
plan tests => $total;
@@ -38,6 +38,19 @@
my $phone_collection = $emp->phones;
isa_ok($phone_collection, 'TestApp::PhoneCollection');
+
+ {
+ my ($val, $msg);
+ eval { ($val, $msg) = $emp->set_phones(1,2,3); };
+ ok(not($@), 'set does not die') or warn $@;
+ ok($@ !~ /^DBD::.*::st execute failed: /,
+ "no stacktrace emitted"
+ );
+ ok(! $val, $msg) or warn "msg: $msg";
+ ok($msg =~ m/Collection column '.*' not writable/,
+ '"not writable" message'
+ );
+ }
{
my $ph = $phone_collection->next;
More information about the Jifty-commit
mailing list