Hello everyone:
I am kind of puzzled in writing spec on view partials. I can not find much
information about the "should have_tag" syntax in Rspec. Can rspec
test a
particular attribute of a tag (e.g. input tag)? Let me put an example here:
#../view/group/_index
<div id="test">
<input type="button" value="update"
onclick="update()" />
</div>
I want to test the "onclick" attribute in the input tag, which ensure
that
clicking the button will call the correct Javascript method. How should I
do?
Great thanks for any help.
--
View this message in context:
http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667395
Sent from the rspec-users mailing list archive at Nabble.com.
On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:> I can not find much > information about the "should have_tag" syntax in Rspec.http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011
Yes, I have gone through the documentation before, and I read the reference
of ''assert_select'' as well. But I still can not figure out a
way of testing
attributes in a tag. What I know is we can use:
should have_tag("tag#id") or should have_tag("tag.class")
to select a tag, whereas I don''t know how to select an attribute and
test
it!
Another problem is the tag does not have id or class sometimes, does it mean
that is no way of selecting it?
David Chelimsky-2 wrote:>
> On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:
>> I can not find much
>> information about the "should have_tag" syntax in Rspec.
>
>
http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
--
View this message in context:
http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667582
Sent from the rspec-users mailing list archive at Nabble.com.
On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:> > Yes, I have gone through the documentation before, and I read the reference > of ''assert_select'' as well. But I still can not figure out a way of testing > attributes in a tag. What I know is we can use: > should have_tag("tag#id") or should have_tag("tag.class") > to select a tag, whereas I don''t know how to select an attribute and test > it!That''s all covered in the assert_select docs. Here''s a cheat sheet you might find useful. http://labnotes.org/svn/public/ruby/rails_plugins/assert_select/cheat/assert_select.html so you can do this: response.should have_tag("form[action=?][method=post]", foo_path(@foo)) HTH> Another problem is the tag does not have id or class sometimes, does it mean > that is no way of selecting it? > > David Chelimsky-2 wrote: > > > > On 9/13/07, Shaker <flyeminent at hotmail.com> wrote: > >> I can not find much > >> information about the "should have_tag" syntax in Rspec. > > > > http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011 > > _______________________________________________ > > rspec-users mailing list > > rspec-users at rubyforge.org > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > -- > View this message in context: http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667582 > Sent from the rspec-users mailing list archive at Nabble.com. > > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
Hello
To spec the example I mentioned before, I wrote the spec as what you
suggested
#../view/group/index_spec.rb
describe "/group/_index_spec" do
it "should call JS function when click the button" do
render ''/group/_index''
response.should have_tag("input[onclick=?]",
"update()")
end
end
However, it generated an error "Expecting a selector as the first
argument".
What is wrong?
David Chelimsky-2 wrote:>
> On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:
>>
>> Yes, I have gone through the documentation before, and I read the
>> reference
>> of ''assert_select'' as well. But I still can not
figure out a way of
>> testing
>> attributes in a tag. What I know is we can use:
>> should have_tag("tag#id") or should
have_tag("tag.class")
>> to select a tag, whereas I don''t know how to select an
attribute and test
>> it!
>
> That''s all covered in the assert_select docs. Here''s a
cheat sheet you
> might find useful.
>
>
http://labnotes.org/svn/public/ruby/rails_plugins/assert_select/cheat/assert_select.html
>
> so you can do this:
>
> response.should have_tag("form[action=?][method=post]",
foo_path(@foo))
>
> HTH
>
>
>
>
>
>> Another problem is the tag does not have id or class sometimes, does it
>> mean
>> that is no way of selecting it?
>>
>> David Chelimsky-2 wrote:
>> >
>> > On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:
>> >> I can not find much
>> >> information about the "should have_tag" syntax in
Rspec.
>> >
>> >
>>
http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011
>> > _______________________________________________
>> > rspec-users mailing list
>> > rspec-users at rubyforge.org
>> > http://rubyforge.org/mailman/listinfo/rspec-users
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667582
>> Sent from the rspec-users mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
--
View this message in context:
http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667709
Sent from the rspec-users mailing list archive at Nabble.com.
Sorry, that''s another spec caused the error. It is working. Thank you very much Shaker wrote:> > Hello > To spec the example I mentioned before, I wrote the spec as what you > suggested > #../view/group/index_spec.rb > describe "/group/_index_spec" do > it "should call JS function when click the button" do > render ''/group/_index'' > response.should have_tag("input[onclick=?]", "update()") > end > end > However, it generated an error "Expecting a selector as the first > argument". What is wrong? > > David Chelimsky-2 wrote: >> >> On 9/13/07, Shaker <flyeminent at hotmail.com> wrote: >>> >>> Yes, I have gone through the documentation before, and I read the >>> reference >>> of ''assert_select'' as well. But I still can not figure out a way of >>> testing >>> attributes in a tag. What I know is we can use: >>> should have_tag("tag#id") or should have_tag("tag.class") >>> to select a tag, whereas I don''t know how to select an attribute and >>> test >>> it! >> >> That''s all covered in the assert_select docs. Here''s a cheat sheet you >> might find useful. >> >> http://labnotes.org/svn/public/ruby/rails_plugins/assert_select/cheat/assert_select.html >> >> so you can do this: >> >> response.should have_tag("form[action=?][method=post]", foo_path(@foo)) >> >> HTH >> >> >> >> >> >>> Another problem is the tag does not have id or class sometimes, does it >>> mean >>> that is no way of selecting it? >>> >>> David Chelimsky-2 wrote: >>> > >>> > On 9/13/07, Shaker <flyeminent at hotmail.com> wrote: >>> >> I can not find much >>> >> information about the "should have_tag" syntax in Rspec. >>> > >>> > >>> http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011 >>> > _______________________________________________ >>> > rspec-users mailing list >>> > rspec-users at rubyforge.org >>> > http://rubyforge.org/mailman/listinfo/rspec-users >>> > >>> > >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667582 >>> Sent from the rspec-users mailing list archive at Nabble.com. >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users at rubyforge.org >>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >> _______________________________________________ >> rspec-users mailing list >> rspec-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> >> > >-- View this message in context: http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667734 Sent from the rspec-users mailing list archive at Nabble.com.
On 9/13/07, Shaker <flyeminent at hotmail.com> wrote:> > Sorry, that''s another spec caused the error. It is working. Thank you very > muchGlad you got it worked out. Cheers, David> > Shaker wrote: > > > > Hello > > To spec the example I mentioned before, I wrote the spec as what you > > suggested > > #../view/group/index_spec.rb > > describe "/group/_index_spec" do > > it "should call JS function when click the button" do > > render ''/group/_index'' > > response.should have_tag("input[onclick=?]", "update()") > > end > > end > > However, it generated an error "Expecting a selector as the first > > argument". What is wrong? > > > > David Chelimsky-2 wrote: > >> > >> On 9/13/07, Shaker <flyeminent at hotmail.com> wrote: > >>> > >>> Yes, I have gone through the documentation before, and I read the > >>> reference > >>> of ''assert_select'' as well. But I still can not figure out a way of > >>> testing > >>> attributes in a tag. What I know is we can use: > >>> should have_tag("tag#id") or should have_tag("tag.class") > >>> to select a tag, whereas I don''t know how to select an attribute and > >>> test > >>> it! > >> > >> That''s all covered in the assert_select docs. Here''s a cheat sheet you > >> might find useful. > >> > >> http://labnotes.org/svn/public/ruby/rails_plugins/assert_select/cheat/assert_select.html > >> > >> so you can do this: > >> > >> response.should have_tag("form[action=?][method=post]", foo_path(@foo)) > >> > >> HTH > >> > >> > >> > >> > >> > >>> Another problem is the tag does not have id or class sometimes, does it > >>> mean > >>> that is no way of selecting it? > >>> > >>> David Chelimsky-2 wrote: > >>> > > >>> > On 9/13/07, Shaker <flyeminent at hotmail.com> wrote: > >>> >> I can not find much > >>> >> information about the "should have_tag" syntax in Rspec. > >>> > > >>> > > >>> http://rspec.rubyforge.org/rdoc-rails/classes/Spec/Rails/Matchers.html#M000011 > >>> > _______________________________________________ > >>> > rspec-users mailing list > >>> > rspec-users at rubyforge.org > >>> > http://rubyforge.org/mailman/listinfo/rspec-users > >>> > > >>> > > >>> > >>> -- > >>> View this message in context: > >>> http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667582 > >>> Sent from the rspec-users mailing list archive at Nabble.com. > >>> > >>> _______________________________________________ > >>> rspec-users mailing list > >>> rspec-users at rubyforge.org > >>> http://rubyforge.org/mailman/listinfo/rspec-users > >>> > >> _______________________________________________ > >> rspec-users mailing list > >> rspec-users at rubyforge.org > >> http://rubyforge.org/mailman/listinfo/rspec-users > >> > >> > > > > > > -- > View this message in context: http://www.nabble.com/Need-help-in-View-Spec-tf4439760.html#a12667734 > Sent from the rspec-users mailing list archive at Nabble.com. > > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >