From 944e02b33297e1070ca445299840899821360358 Mon Sep 17 00:00:00 2001 From: Neeraj Singh Date: Thu, 8 Jul 2010 08:47:28 -0400 Subject: [PATCH] test for #5064 --- .../has_one_through_associations_test.rb | 14 +++++++++++++- activerecord/test/fixtures/cars.yml | 5 +++++ activerecord/test/fixtures/dashboards.yml | 4 ++++ activerecord/test/fixtures/speedometers.yml | 5 +++++ activerecord/test/models/car.rb | 6 ++++++ activerecord/test/models/dashboard.rb | 3 +++ activerecord/test/models/speedometer.rb | 5 +++++ activerecord/test/schema/schema.rb | 17 +++++++++++++++++ 8 files changed, 58 insertions(+), 1 deletions(-) create mode 100644 activerecord/test/fixtures/cars.yml create mode 100644 activerecord/test/fixtures/dashboards.yml create mode 100644 activerecord/test/fixtures/speedometers.yml create mode 100644 activerecord/test/models/car.rb create mode 100644 activerecord/test/models/dashboard.rb create mode 100644 activerecord/test/models/speedometer.rb diff --git a/activerecord/test/cases/associations/has_one_through_associations_test.rb b/activerecord/test/cases/associations/has_one_through_associations_test.rb index 9aef3eb..b75cd01 100644 --- a/activerecord/test/cases/associations/has_one_through_associations_test.rb +++ b/activerecord/test/cases/associations/has_one_through_associations_test.rb @@ -6,9 +6,12 @@ require 'models/membership' require 'models/sponsor' require 'models/organization' require 'models/member_detail' +require 'models/car' +require 'models/dashboard' +require 'models/speedometer' class HasOneThroughAssociationsTest < ActiveRecord::TestCase - fixtures :member_types, :members, :clubs, :memberships, :sponsors, :organizations + fixtures :member_types, :members, :clubs, :memberships, :sponsors, :organizations, :cars, :dashboards, :speedometers def setup @member = members(:groucho) @@ -206,4 +209,13 @@ class HasOneThroughAssociationsTest < ActiveRecord::TestCase Club.find(@club.id, :include => :sponsored_member).save! end end + + def test_value_is_properly_quoted + car = Car.find('c1') + assert_nothing_raised do + car.dashboard + end + end + + end diff --git a/activerecord/test/fixtures/cars.yml b/activerecord/test/fixtures/cars.yml new file mode 100644 index 0000000..59dc158 --- /dev/null +++ b/activerecord/test/fixtures/cars.yml @@ -0,0 +1,5 @@ +cool_first: + car_id: c1 + name: my_car + speedometer_id: s1 + diff --git a/activerecord/test/fixtures/dashboards.yml b/activerecord/test/fixtures/dashboards.yml new file mode 100644 index 0000000..80da5fd --- /dev/null +++ b/activerecord/test/fixtures/dashboards.yml @@ -0,0 +1,4 @@ +cool_first: + dashboard_id: d1 + name: my_dashboard + diff --git a/activerecord/test/fixtures/speedometers.yml b/activerecord/test/fixtures/speedometers.yml new file mode 100644 index 0000000..4d147bd --- /dev/null +++ b/activerecord/test/fixtures/speedometers.yml @@ -0,0 +1,5 @@ +cool_first: + speedometer_id: s1 + name: my_speedometer + dashboard_id: d1 + diff --git a/activerecord/test/models/car.rb b/activerecord/test/models/car.rb new file mode 100644 index 0000000..6c3c2a1 --- /dev/null +++ b/activerecord/test/models/car.rb @@ -0,0 +1,6 @@ +class Car < ActiveRecord::Base + set_primary_key :car_id + + belongs_to :speedometer + has_one :dashboard, :through => :speedometer +end diff --git a/activerecord/test/models/dashboard.rb b/activerecord/test/models/dashboard.rb new file mode 100644 index 0000000..0255fb4 --- /dev/null +++ b/activerecord/test/models/dashboard.rb @@ -0,0 +1,3 @@ +class Dashboard < ActiveRecord::Base + set_primary_key :dashboard_id +end diff --git a/activerecord/test/models/speedometer.rb b/activerecord/test/models/speedometer.rb new file mode 100644 index 0000000..0e15741 --- /dev/null +++ b/activerecord/test/models/speedometer.rb @@ -0,0 +1,5 @@ +class Speedometer < ActiveRecord::Base + set_primary_key :speedometer_id + + belongs_to :dashboard +end diff --git a/activerecord/test/schema/schema.rb b/activerecord/test/schema/schema.rb index b212e7c..8b4daf0 100644 --- a/activerecord/test/schema/schema.rb +++ b/activerecord/test/schema/schema.rb @@ -82,6 +82,12 @@ ActiveRecord::Schema.define do t.string :name end + create_table :cars, :force => true, :id => false do |t| + t.string :car_id + t.string :name + t.string :speedometer_id + end + create_table :categories, :force => true do |t| t.string :name, :null => false t.string :type @@ -159,6 +165,11 @@ ActiveRecord::Schema.define do t.string :gps_location end + create_table :dashboards, :force => true, :id => false do |t| + t.string :dashboard_id + t.string :name + end + create_table :developers, :force => true do |t| t.string :name t.integer :salary, :default => 70000 @@ -444,6 +455,12 @@ ActiveRecord::Schema.define do t.integer :ship_id end + create_table :speedometers, :force => true, :id => false do |t| + t.string :speedometer_id + t.string :name + t.string :dashboard_id + end + create_table :sponsors, :force => true do |t| t.integer :club_id t.integer :sponsorable_id -- 1.6.5.2