person_image_link and object_path return empty strings if parameter is nil.
This commit is contained in:
parent
050918a310
commit
ef2fa21d06
2 changed files with 28 additions and 2 deletions
|
|
@ -22,8 +22,9 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def object_path(object, opts = {})
|
||||
return "" if object.nil?
|
||||
object = object.person if object.is_a? User
|
||||
eval("#{object.class.to_s.underscore}_path(object, opts)")
|
||||
eval("#{object.class.name.underscore}_path(object, opts)")
|
||||
end
|
||||
|
||||
def object_fields(object)
|
||||
|
|
@ -77,10 +78,11 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def person_image_link(person, opts = {})
|
||||
return "" if person.nil?
|
||||
if opts[:to] == :photos
|
||||
link_to person_image_tag(person), person_photos_path(person)
|
||||
else
|
||||
link_to person_image_tag(person), object_path(person)
|
||||
link_to person_image_tag(person), person_path(person)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,30 @@ describe ApplicationHelper do
|
|||
person_url(@user).should == "/users/#{@user.id}"
|
||||
end
|
||||
|
||||
describe "#object_path" do
|
||||
it "returns an empty string if object is nil" do
|
||||
object_path(nil).should == ""
|
||||
end
|
||||
it "returns person path if it's a person" do
|
||||
object_path(@person).should == person_path(@person)
|
||||
end
|
||||
it "returns person path if it's a user" do
|
||||
object_path(@user).should == person_path(@user.person)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#person_image_link" do
|
||||
it "returns an empty string if person is nil" do
|
||||
person_image_link(nil).should == ""
|
||||
end
|
||||
it "returns a link containing the person's photo" do
|
||||
person_image_link(@person).should include(image_or_default(@person))
|
||||
end
|
||||
it "returns a link to the person's profile" do
|
||||
person_image_link(@person).should include("href=\"#{person_path(@person)}\"")
|
||||
end
|
||||
end
|
||||
|
||||
describe "markdownify" do
|
||||
describe "autolinks" do
|
||||
it "should not allow basic XSS/HTML" do
|
||||
|
|
|
|||
Loading…
Reference in a new issue