require 'spec_helper' describe Symbiont::Generators do let(:watir_browser) { mock_browser_for_watir } let(:watir_definition) { DefinitionTest.new(watir_browser) } describe "div generators" do context "when declared on a page definition" do it "should generate methods for referencing the div" do watir_definition.should respond_to(:section_div) watir_definition.should respond_to(:section_object) end it "should generate methods for interacting with the div" do watir_definition.should respond_to(:section_exists?) watir_definition.should respond_to(:section_visible?) watir_definition.should respond_to(:section?) watir_definition.should respond_to(:section_?) watir_definition.should respond_to(:section) end end context "when used by the watir platform" do it "should locate the div" do watir_browser.should_receive(:div).and_return(watir_browser) web_object = watir_definition.section_div web_object.should_not be_nil web_object.should be_instance_of Symbiont::WebObjects::Div end it "should determine if a div exists" do watir_browser.should_receive(:div).twice.and_return(watir_browser) watir_browser.should_receive(:exists?).twice.and_return(watir_browser) watir_definition.section_exists?.should be_true watir_definition.section?.should be_true end it "should determine if a div is visible" do watir_browser.should_receive(:div).twice.and_return(watir_browser) watir_browser.should_receive(:present?).twice.and_return(watir_browser) watir_definition.section_visible?.should be_true watir_definition.section_?.should be_true end it "should return the text of a div" do watir_browser.should_receive(:div).and_return(watir_browser) watir_browser.should_receive(:text).and_return("testing") watir_definition.section.should == "testing" end it "should call a block on the div if specified" do watir_definition.aside_object.should == "aside" end end end end