forked from ievgrafov/gnuplotrb
/
spec_helper.rb
41 lines (35 loc) · 1.01 KB
/
spec_helper.rb
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
require 'simplecov'
require 'codeclimate-test-reporter'
require 'digest'
require 'chunky_png'
require 'digest/md5'
SimpleCov.add_filter 'vendor'
SimpleCov.add_filter 'examples'
SimpleCov.formatter = CodeClimate::TestReporter::Formatter
SimpleCov.start CodeClimate::TestReporter.configuration.profile
require 'gnuplotrb'
include ChunkyPNG::Color
include GnuplotRB
$RSPEC_TEST = true
def same_images?(*imgs)
images = imgs.map { |img| Digest::MD5.digest(ChunkyPNG::Image.from_file(img).pixels.to_s) }
images.all? { |img| img == images[0] }
end
# may be errorneuos in comparing images
def same_files?(*files)
images = files.map { |fname| Digest::MD5.digest(File.binread(fname)) }
images.all? { |img| img == images[0] }
end
def awesome?
# sure!
true
end
def run_example_at(path)
Dir.chdir(path) do
FileUtils.rm(Dir["#{Dir.pwd}/*.png"])
require "#{Dir.pwd}/plot.rb"
# run gnuplot without output to current console
`gnuplot plot.gnuplot 2>&1`
same_images?('gnuplot.png', 'gnuplot_gem.png')
end
end