Przeglądaj źródła

detect Chrome downloaded file more strictly

git-svn-id: http://svn.redmine.org/redmine/trunk@18536 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.1.0
Toshi MARUYAMA 4 lat temu
rodzic
commit
942eb6e06b

+ 9
- 3
test/application_system_test_case.rb Wyświetl plik

@@ -66,15 +66,21 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
def downloaded_files(filename='*')
# https://github.com/SeleniumHQ/selenium/issues/5292
downloaded_path = Redmine::Platform.mswin? ? DOWNLOADS_PATH : "#{ENV['HOME']}/Downloads"
Dir.glob("#{downloaded_path}/#{filename}").reject {|f| f=~/\.(tmp|crdownload)$/}
Dir.glob("#{downloaded_path}/#{filename}").
reject{|f| f=~/\.(tmp|crdownload)$/}.sort_by{|f| File.mtime(f)}
end

# Returns the path of the download file
def downloaded_file(filename='*')
files = []
Timeout.timeout(5) do
sleep 0.2 while downloaded_files(filename).empty?
loop do
files = downloaded_files(filename)
break if files.present?
sleep 0.2
end
end
downloaded_files(filename).first
files.last
end
end


+ 3
- 1
test/system/issues_test.rb Wyświetl plik

@@ -335,7 +335,9 @@ class IssuesTest < ApplicationSystemTestCase
click_on 'CSV'
click_on 'Export'

csv = CSV.read(downloaded_file("issues.csv"))
# https://github.com/SeleniumHQ/selenium/issues/5292
# if issues.csv exists, Chrome creates issues (1).csv, issues (2).csv ...
csv = CSV.read(downloaded_file("issues*.csv"))
subject_index = csv.shift.index('Subject')
subjects = csv.map {|row| row[subject_index]}
assert_equal subjects.sort, subjects

Ładowanie…
Anuluj
Zapisz