[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