shared_examples_for 'with_dom' do |html = nil|
let(:with_dom) do
dupped = subject.dup
dupped.html = html
# It is lazy-loaded.
dupped.dom
dupped
end
describe '#to_rpc_data' do
let(:data) { with_dom.to_rpc_data }
it "includes 'dom'" do
data['dom'].should == with_dom.dom.to_rpc_data
end
end
describe '.from_rpc_data' do
let(:restored) { with_dom.class.from_rpc_data data }
let(:data) { Arachni::RPC::Serializer.rpc_data( with_dom ) }
it "restores 'dom'" do
restored.dom.should == with_dom.dom
end
end
it "returns #{described_class::DOM}" do
with_dom.dom.should be_kind_of described_class::DOM
end
describe '#dup' do
let(:dupped) { with_dom.dup }
it 'preserves #dom' do
dupped.dom.should == with_dom.dom
end
end
end