From f47eaef7d3b43c88f5123bc7e53089ab8ace090b Mon Sep 17 00:00:00 2001 From: Marius BALTEANU Date: Sun, 2 Jun 2019 17:00:45 +0000 Subject: [PATCH] Run test only when GhostScript is available diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb index 3420ea8..f94c732 100644 --- a/test/functional/attachments_controller_test.rb +++ b/test/functional/attachments_controller_test.rb @@ -404,16 +404,6 @@ class AttachmentsControllerTest < Redmine::ControllerTest assert_response 304 end - def test_thumbnail_for_pdf_should_be_png - Attachment.clear_thumbnails - @request.session[:user_id] = 2 - get :thumbnail, :params => { - :id => 23 # ecookbook-gantt.pdf - } - assert_response :success - assert_equal 'image/png', response.content_type - end - def test_thumbnail_should_not_exceed_maximum_size Redmine::Thumbnail.expects(:generate).with {|source, target, size| size == 800} @@ -463,6 +453,20 @@ class AttachmentsControllerTest < Redmine::ControllerTest puts '(ImageMagick convert not available)' end + if gs_installed? + def test_thumbnail_for_pdf_should_be_png + Attachment.clear_thumbnails + @request.session[:user_id] = 2 + get :thumbnail, :params => { + :id => 23 # ecookbook-gantt.pdf + } + assert_response :success + assert_equal 'image/png', response.content_type + end + else + puts '(GhostScript convert not available)' + end + def test_edit_all @request.session[:user_id] = 2 get :edit_all, :params => { @@ -519,12 +523,12 @@ class AttachmentsControllerTest < Redmine::ControllerTest '1' => { :filename => 'newname.text', :description => '' - }, + }, '4' => { :filename => 'newname.rb', :description => 'Renamed' - }, - + }, + } } @@ -543,12 +547,12 @@ class AttachmentsControllerTest < Redmine::ControllerTest '1' => { :filename => '', :description => '' - }, + }, '4' => { :filename => 'newname.rb', :description => 'Renamed' - }, - + }, + } } diff --git a/test/test_helper.rb b/test/test_helper.rb index a5af479..390ea92 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -134,6 +134,14 @@ class ActiveSupport::TestCase self.class.convert_installed? end + def self.gs_installed? + Redmine::Thumbnail.gs_available? + end + + def gs_installed? + self.class.gs_installed? + end + # Returns the path to the test +vendor+ repository def self.repository_path(vendor) path = Rails.root.join("tmp/test/#{vendor.downcase}_repository").to_s @@ -254,14 +262,14 @@ end module Redmine class MockFile attr_reader :size, :original_filename, :content_type - + def initialize(options={}) @size = options[:size] || 32 @original_filename = options[:original_filename] || options[:filename] @content_type = options[:content_type] @content = options[:content] || 'x'*size end - + def read(*args) if @eof false @@ -308,12 +316,12 @@ module Redmine ids = css_select('tr.issue td.id').map(&:text).map(&:to_i) Issue.where(:id => ids).sort_by {|issue| ids.index(issue.id)} end - + # Return the columns that are displayed in the issue list def columns_in_issues_list css_select('table.issues thead th:not(.checkbox)').map(&:text).select(&:present?) end - + # Return the columns that are displayed in the list def columns_in_list css_select('table.list thead th:not(.checkbox)').map(&:text).select(&:present?) @@ -328,7 +336,7 @@ module Redmine def assert_query_filters(expected_filters) response.body =~ /initFilters\(\);\s*((addFilter\(.+\);\s*)*)/ filter_init = $1.to_s - + expected_filters.each do |field, operator, values| s = "addFilter(#{field.to_json}, #{operator.to_json}, #{Array(values).to_json});" assert_include s, filter_init @@ -437,7 +445,7 @@ module Redmine request = arg.keys.detect {|key| key.is_a?(String)} raise ArgumentError unless request options = arg.slice!(request) - + API_FORMATS.each do |format| format_request = request.sub /$/, ".#{format}" super options.merge(format_request => arg[request], :format => format) -- 2.1.4