require_relative 'unit_helper' 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 { expect(@container.public_extract_selector([:how, 'what'])).to eq Hash[how: 'what'] }.to have_deprecated_selector_parameters 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