spec/lib/percy/capybara/loaders/base_loader_spec.rb in percy-capybara-3.1.1 vs spec/lib/percy/capybara/loaders/base_loader_spec.rb in percy-capybara-3.1.2

- old
+ new

@@ -5,17 +5,17 @@ [200, {}, File.read(IFRAME_PATH)] end end RSpec.describe Percy::Capybara::Loaders::BaseLoader do - let(:loader) { described_class.new } + let(:loader) { Percy::Capybara::Loaders::BaseLoader.new } describe '#root_html_resource', type: :feature, js: true do it 'includes the root DOM HTML' do visit '/' - loader = described_class.new(page: page) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page) resource = loader.root_html_resource expect(resource.is_root).to be_truthy expect(resource.mimetype).to eq('text/html') expect(resource.resource_url).to match('/') @@ -25,19 +25,19 @@ end describe '#iframes_resources', type: :feature, js: true do it 'excludes the iframe by default' do visit '/test-iframe.html' - loader = described_class.new(page: page) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page) resources = loader.iframes_resources expect(resources).to eq([]) end it 'includes the iframe with DOM HTML when include_iframes true' do visit '/test-iframe.html' - loader = described_class.new(page: page, include_iframes: true) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page, include_iframes: true) resources = loader.iframes_resources expect(resources.size).to eq(1) # doesn't include iframe to remote host last_resource = resources.last expect(last_resource.resource_url).to eq('/iframe.html') @@ -47,20 +47,20 @@ it 'skips poltergeist frame not found errors when include_iframes true' do visit '/test-iframe.html' expect(page).to receive(:within_frame).twice .and_raise(Capybara::Poltergeist::FrameNotFound, 'Hi') - loader = described_class.new(page: page, include_iframes: true) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page, include_iframes: true) resources = loader.iframes_resources expect(resources.size).to eq(0) end it 'skips poltergeist timeout errors when include_iframes true' do visit '/test-iframe.html' expect(page).to receive(:within_frame).twice .and_raise(Capybara::Poltergeist::TimeoutError, 'Hi') - loader = described_class.new(page: page, include_iframes: true) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page, include_iframes: true) resources = loader.iframes_resources expect(resources.size).to eq(0) end end describe '#build_resources' do @@ -76,46 +76,47 @@ describe '#current_path' do it 'returns the current path of the page, stripping the domain if it exists' do page_double = double('page') expect(page_double).to receive(:current_url).and_return('/') - loader = described_class.new(page: page_double) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page_double) expect(loader.current_path).to eq('/') expect(page_double).to receive(:current_url).and_return('/test') - loader = described_class.new(page: page_double) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page_double) expect(loader.current_path).to eq('/test') expect(page_double).to receive(:current_url).and_return('/test/a') - loader = described_class.new(page: page_double) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page_double) expect(loader.current_path).to eq('/test/a') # Rack::Test returns a full example.com URL, so we want to make sure it is stripped: expect(page_double).to receive(:current_url).and_return('http://www.example.com/') - loader = described_class.new(page: page_double) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page_double) expect(loader.current_path).to eq('/') expect(page_double).to receive(:current_url).and_return('about:srcdoc') - loader = described_class.new(page: page_double) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page_double) expect(loader.current_path).to eq('/about:srcdoc') end end context 'Rack::Test', type: :feature do - before { Capybara.app = RackAppWithIframe } - after { Capybara.app = nil } + before(:each) { Capybara.app = RackAppWithIframe } + after(:each) { Capybara.app = nil } describe '#iframes_resources' do it 'is silently ignored' do visit '/test-iframe.html' - loader = described_class.new(page: page) + loader = Percy::Capybara::Loaders::BaseLoader.new(page: page) expect(loader.iframes_resources).to eq([]) end end end describe '#_uri_join' do it 'joins files into a uri' do - expect(described_class.new.send(:_uri_join, 'foo/', '/bar', 'baz')).to eq('foo/bar/baz') + expect(Percy::Capybara::Loaders::BaseLoader.new.send(:_uri_join, 'foo/', '/bar', 'baz')) + .to eq('foo/bar/baz') end end end