##// END OF EJS Templates
Make sure that Repository#extra_info returns a Hash or nil (#16032)....
Jean-Philippe Lang -
r12573:09b95905dc2d
parent child
Show More
@@ -153,6 +153,12 class Repository < ActiveRecord::Base
153 end
153 end
154 end
154 end
155
155
156 # TODO: should return an empty hash instead of nil to avoid many ||{}
157 def extra_info
158 h = read_attribute(:extra_info)
159 h.is_a?(Hash) ? h : nil
160 end
161
156 def merge_extra_info(arg)
162 def merge_extra_info(arg)
157 h = extra_info || {}
163 h = extra_info || {}
158 return h if arg.nil?
164 return h if arg.nil?
@@ -348,6 +348,12 class RepositoryTest < ActiveSupport::TestCase
348 assert_equal true, klass.scm_available
348 assert_equal true, klass.scm_available
349 end
349 end
350
350
351 def test_extra_info_should_not_return_non_hash_value
352 repo = Repository.new
353 repo.extra_info = "foo"
354 assert_nil repo.extra_info
355 end
356
351 def test_merge_extra_info
357 def test_merge_extra_info
352 repo = Repository::Subversion.new(:project => Project.find(3))
358 repo = Repository::Subversion.new(:project => Project.find(3))
353 assert !repo.save
359 assert !repo.save
General Comments 0
You need to be logged in to leave comments. Login now