Welcome to mirror list, hosted at ThFree Co, Russian Federation.

screenshots.rake « tasks « lib - github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 42282488c46510184f11d7cd7e8d2e7b2b8151a3 (plain)
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
# frozen_string_literal: true

if defined? Cucumber

namespace :screenshots do

  Cucumber::Rake::Task.new({:reference => 'db:test:prepare'}, 'Take reference screenshots') do |t|
    t.profile = 'ref_screens'
  end

  Cucumber::Rake::Task.new({:comparison => 'db:test:prepare'}, 'Take comparison screenshots') do |t|
    t.profile = 'cmp_screens'
  end

  desc 'Take reference and comparison screenshots'
  task :all => [:reference, :comparison]

  desc 'Generate "flicker" images for easy comparison (requires RMagick)'
  task :flicker do
    screen_dir = Rails.root.join('tmp', 'screenshots')

    ref_dir = screen_dir.join('reference')
    cur_dir = screen_dir.join('current')

    Dir.glob("#{ref_dir}/*.png") do |img|
      filename = File.basename(img)

      if !File.exist?(cur_dir.join(filename))
        raise "the comparison screenshot for #{filename} doesn't exist!"
      end

      MiniMagick::Tool::Convert.new do |convert|
        convert.merge! ["-delay", "65", "-loop", "0"]
        convert << ref_dir.join(filename)
        convert << cur_dir.join(filename)
        convert << screen_dir.join("#{filename}.gif")
      end
    end

    puts %Q(
    Done!
    You can find the flicker images here:

      #{screen_dir}

    )
  end
end

end