require 'spec_helper'
describe Arachni::Element::UIForm do
html = ' 'stuff' },
opening_tags: {
'my-input' => ""
}
)
end
subject do
new_element( html )
end
let(:inputtable) do
new_element( html )
end
let(:url) { "#{web_server_url_for( :ui_form_dom )}/" }
let(:browser) { @browser }
let(:page) { Arachni::Page.from_url( url ) }
describe '.new' do
describe ':opening_tags' do
it 'sets the #opening_tags' do
expect(subject.opening_tags).to eq(
'my-input' => ""
)
end
context 'when nil' do
subject do
described_class.new(
method: 'click',
action: page.url
)
end
it 'sets the empty array' do
expect(subject.opening_tags).to eq([])
end
end
end
end
describe '#dup' do
it 'duplicated #opening_tags' do
dupped = subject.dup
expect(dupped.opening_tags).to eq subject.opening_tags
end
end
describe '.from_browser' do
before :each do
@browser = Arachni::Browser.new
@browser.load page
end
after :each do
@browser.shutdown
end
context 'when there no buttons' do
let(:url) { "#{super()}/without-button" }
it 'returns empty array' do
expect(described_class.from_browser( @browser, page )).to be_empty
end
end
context 'when there are buttons' do
context 'as