1 require 'abstract_unit'
6 def new_record
?; @id.nil? end
8 @id.nil? ? 'new comment' : "comment ##{@id}"
12 class Comment
::Nested < Comment
; end
14 class Test
::Unit::TestCase
17 'http://www.example.com/comments'
20 def comment_url(comment
)
21 "http://www.example.com/comments/#{comment.id}"
26 class RecordIdentifierTest
< Test
::Unit::TestCase
27 include ActionController
::RecordIdentifier
36 def test_dom_id_with_new_record
37 assert_equal
"new_#{@singular}", dom_id(@record)
40 def test_dom_id_with_new_record_and_prefix
41 assert_equal
"custom_prefix_#{@singular}", dom_id(@record, :custom_prefix)
44 def test_dom_id_with_saved_record
46 assert_equal
"#{@singular}_1", dom_id(@record)
49 def test_dom_id_with_prefix
51 assert_equal
"edit_#{@singular}_1", dom_id(@record, :edit)
55 expected
= "#{@plural}/#{@singular}"
56 assert_equal expected
, partial_path(@record)
57 assert_equal expected
, partial_path(Comment
)
60 def test_partial_path_with_namespaced_controller_path
61 expected
= "admin/#{@plural}/#{@singular}"
62 assert_equal expected
, partial_path(@record, "admin/posts")
63 assert_equal expected
, partial_path(@klass, "admin/posts")
66 def test_partial_path_with_not_namespaced_controller_path
67 expected
= "#{@plural}/#{@singular}"
68 assert_equal expected
, partial_path(@record, "posts")
69 assert_equal expected
, partial_path(@klass, "posts")
73 assert_equal
@singular, dom_class(@record)
76 def test_dom_class_with_prefix
77 assert_equal
"custom_prefix_#{@singular}", dom_class(@record, :custom_prefix)
80 def test_singular_class_name
81 assert_equal
@singular, singular_class_name(@record)
84 def test_singular_class_name_for_class
85 assert_equal
@singular, singular_class_name(@klass)
88 def test_plural_class_name
89 assert_equal
@plural, plural_class_name(@record)
92 def test_plural_class_name_for_class
93 assert_equal
@plural, plural_class_name(@klass)
97 def method_missing(method
, *args
)
98 RecordIdentifier
.send(method
, *args
)
102 class NestedRecordIdentifierTest
< RecordIdentifierTest
104 @klass = Comment
::Nested
106 @singular = 'comment_nested'
107 @plural = 'comment_nesteds'
110 def test_partial_path
111 expected
= "comment/nesteds/nested"
112 assert_equal expected
, partial_path(@record)
113 assert_equal expected
, partial_path(Comment
::Nested)
116 def test_partial_path_with_namespaced_controller_path
117 expected
= "admin/comment/nesteds/nested"
118 assert_equal expected
, partial_path(@record, "admin/posts")
119 assert_equal expected
, partial_path(@klass, "admin/posts")
122 def test_partial_path_with_deeper_namespaced_controller_path
123 expected
= "deeper/admin/comment/nesteds/nested"
124 assert_equal expected
, partial_path(@record, "deeper/admin/posts")
125 assert_equal expected
, partial_path(@klass, "deeper/admin/posts")
128 def test_partial_path_with_even_deeper_namespaced_controller_path
129 expected
= "even/more/deeper/admin/comment/nesteds/nested"
130 assert_equal expected
, partial_path(@record, "even/more/deeper/admin/posts")
131 assert_equal expected
, partial_path(@klass, "even/more/deeper/admin/posts")
134 def test_partial_path_with_not_namespaced_controller_path
135 expected
= "comment/nesteds/nested"
136 assert_equal expected
, partial_path(@record, "posts")
137 assert_equal expected
, partial_path(@klass, "posts")