Hello,
I am getting an error whenever I try to use assert_select in the following test:
def test_should_have_add_link_selected_on_new
get :new, :user => @current_user.screen_name
assert_response :success
assert_select "input#scheduled_post_append_to_post[checked]", "checked"
end
I get the same error when calling the single parameter version of assert_select:
assert_select "input#scheduled_post_append_to_post"
The error is:
ArgumentError: wrong number of arguments (6 for 2)
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/node.rb:199:in `initialize'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/node.rb:199:in `parse'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/document.rb:20:in `initialize'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/test_process.rb:439:in `html_document'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb:555:in `response_from_page_or_rjs'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb:197:in `assert_select'
test/functional/scheduled_posts_controller_test.rb:33:in `test_should_have_add_link_selected_on_new'
/usr/lib/ruby/gems/1.8/gems/mocha-0.4.0/lib/mocha/test_case_adapter.rb:19:in `run'
I am clearly not passing it 6 args. I have tried to write other tests using assert_select and this error is thrown consistently.
I found one other unresolved thread when searching the archives: http://thread.gmane.org/gmane.comp.lang.ruby.rails/128719/focus=128724 and I have contacted the user to see if he found a resolution but I would appreciate it if anyone else has any ideas how to resolve this issue.
Thanks,
-Jesse
Chris_T
(Chris T)
August 16, 2007, 6:54pm
#2
Jesse Clark wrote:
Hello,
I am getting an error whenever I try to use assert_select in the
following test:
def test_should_have_add_link_selected_on_new
get :new, :user => @current_user.screen_name
assert_response :success
assert_select "input#scheduled_post_append_to_post[checked]", "checked"
end
I get the same error when calling the single parameter version of
assert_select:
assert_select "input#scheduled_post_append_to_post"
The error is:
ArgumentError: wrong number of arguments (6 for 2)
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/node.rb:199:in
`initialize'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/node.rb:199:in
`parse'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/../vendor/html-scanner/html/document.rb:20:in
`initialize'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/test_process.rb:439:in
`html_document'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb:555:in
`response_from_page_or_rjs'
/Users/jesse/development/projects/magnolia/trunk/config/../vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb:197:in
`assert_select'
test/functional/scheduled_posts_controller_test.rb:33:in
`test_should_have_add_link_selected_on_new'
/usr/lib/ruby/gems/1.8/gems/mocha-0.4.0/lib/mocha/test_case_adapter.rb:19:in
`run'
I am clearly not passing it 6 args. I have tried to write other tests
using assert_select and this error is thrown consistently.
I found one other unresolved thread when searching the archives:
http://thread.gmane.org/gmane.comp.lang.ruby.rails/128719/focus=128724
and I have contacted the user to see if he found a resolution but I
would appreciate it if anyone else has any ideas how to resolve this issue.
Thanks,
-Jesse
>
Not sure this is helpful, but sounds like the HTML parser that
assert_select using is having difficulty with the response. Might help
to do a "puts @response.body " before the assert_select to examine it
Hope this helps
Chris
Just answering my own question from a while back.
It turns out at some point along the way someone had installed ruby-htmltools ( http://bike-nomad.com/ruby/ ) in our project. This library contains an HTML:Tag class that was clobbering the HTML:Tag class in /action_controller/vendor/html-scanner/html .
Removing this library cleared up the problem.
-jc
Jesse Clark wrote: