require File.expand_path(File.dirname(__FILE__) + "/../spec_helper") describe "within" do it "should work when nested" do with_html <<-HTML
HTML webrat_session.should_receive(:get).with("/page2", {}) within "#container" do within "div" do click_link "Link" end end end it "should click links within a scope" do with_html <<-HTML Link HTML webrat_session.should_receive(:get).with("/page2", {}) within "#container" do click_link "Link" end end it "should submit forms within a scope" do with_html <<-HTML HTML webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com") within "#form2" do fill_in "Email", :with => "test@example.com" click_button end end it "should work when the scope is inside the form" do pending "needs bug fix" do with_html <<-HTML HTML webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com") within ".important" do fill_in "Email", :with => "test@example.com" end submit_form "form2" end end it "should not find buttons outside of the scope" do with_html <<-HTML HTML within "#form2" do lambda { click_button }.should raise_error(Webrat::NotFoundError) end end it "should raise a Webrat::NotFounderror error when the scope doesn't exist" do with_html <<-HTML HTML lambda { within "#form2" do end }.should raise_error(Webrat::NotFoundError) end end