require File.expand_path('watirspec/spec_helper', File.dirname(__FILE__)) describe Watir::Container do before { @container = Object.new.extend(Watir::Container) } describe "#extract_selector" do before do def @container.public_extract_selector(*args) extract_selector(*args) end end it "converts 2-arg selector into a hash" do expect(@container.public_extract_selector([:how, 'what'])).to eq Hash[:how => 'what'] end it "returns the hash given" do expect(@container.public_extract_selector([:how => "what"])).to eq Hash[:how => "what"] end it "returns an empty hash if given no args" do expect(@container.public_extract_selector([])).to eq Hash[] end it "raises ArgumentError if given 1 arg which is not a Hash" do expect {@container.public_extract_selector([:how])}.to raise_error(ArgumentError) end it "raises ArgumentError if given > 2 args" do expect {@container.public_extract_selector([:how, 'what', 'value'])}.to raise_error(ArgumentError) end end end