/usr/lib/ruby/vendor_ruby/capybara/spec/session/save_page_spec.rb is in ruby-capybara 2.5.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | Capybara::SpecHelper.spec '#save_page' do
let(:alternative_path) { File.join(Dir.pwd, "save_and_open_page_tmp") }
before do
@session.visit("/foo")
end
after do
Capybara.save_and_open_page_path = nil
Dir.glob("capybara-*.html").each do |file|
FileUtils.rm(file)
end
FileUtils.rm_rf alternative_path
end
it "saves the page in the root directory" do
@session.save_page
path = Dir.glob("capybara-*.html").first
expect(File.read(path)).to include("Another World")
end
it "generates a sensible filename" do
@session.save_page
filename = Dir.glob("capybara-*.html").first
expect(filename).to match(/^capybara-\d+\.html$/)
end
it "can store files in a specified directory" do
Capybara.save_and_open_page_path = alternative_path
@session.save_page
path = Dir.glob(alternative_path + "/capybara-*.html").first
expect(File.read(path)).to include("Another World")
end
it "uses the given filename" do
@session.save_page("capybara-001122.html")
expect(File.read("capybara-001122.html")).to include("Another World")
end
it "returns an absolute path in pwd" do
result = @session.save_page
path = File.expand_path(Dir.glob("capybara-*.html").first, Dir.pwd)
expect(result).to eq(path)
end
it "returns an absolute path in given directory" do
Capybara.save_and_open_page_path = alternative_path
result = @session.save_page
path = File.expand_path(Dir.glob(alternative_path + "/capybara-*.html").first, alternative_path)
expect(result).to eq(path)
end
context "asset_host contains a string" do
before { Capybara.asset_host = "http://example.com" }
after { Capybara.asset_host = nil }
it "prepends base tag with value from asset_host to the head" do
@session.visit("/with_js")
path = @session.save_page
result = File.read(path)
expect(result).to include("<head><base href='http://example.com' />")
end
it "doesn't prepend base tag to pages when asset_host is nil" do
Capybara.asset_host = nil
@session.visit("/with_js")
path = @session.save_page
result = File.read(path)
expect(result).to include('<html')
expect(result).not_to include("http://example.com")
end
it "doesn't prepend base tag to pages which already have it" do
@session.visit("/with_base_tag")
path = @session.save_page
result = File.read(path)
expect(result).to include('<html')
expect(result).not_to include("http://example.com")
end
it "executes successfully even if the page is missing a <head>" do
@session.visit("/with_simple_html")
path = @session.save_page
result = File.read(path)
expect(result).to include("Bar")
end
end
end
|