compaa 0.0.1.3 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +0 -1
- data/bin/compaa +36 -36
- data/compaa.gemspec +2 -3
- data/features/step_definitions/compaa_steps.rb +2 -2
- data/features/support/env.rb +0 -2
- data/lib/compaa.rb +2 -0
- data/lib/compaa/null_object.rb +5 -0
- data/lib/compaa/rack_app.rb +32 -0
- data/lib/compaa/template.haml +80 -0
- data/lib/compaa/version.rb +1 -1
- data/lib/watir-webdriver-fake.rb +9 -0
- data/spec/spec_helper.rb +2 -0
- metadata +43 -48
- data/app.rb +0 -9
- data/config.ru +0 -6
- data/views/index.haml +0 -86
data/.travis.yml
CHANGED
data/bin/compaa
CHANGED
@@ -3,62 +3,62 @@
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'methadone'
|
5
5
|
require 'compaa'
|
6
|
-
require '
|
7
|
-
|
6
|
+
require 'rack'
|
7
|
+
if ENV['TRAVIS'] == 'true'
|
8
|
+
require 'watir-webdriver-fake'
|
9
|
+
else
|
10
|
+
require 'watir-webdriver'
|
11
|
+
end
|
8
12
|
require 'cgi'
|
9
13
|
|
10
14
|
class App
|
11
15
|
include Methadone::Main
|
12
16
|
include Methadone::CLILogging
|
13
17
|
|
14
|
-
PORT =
|
18
|
+
PORT = 7788
|
15
19
|
|
16
20
|
main do
|
17
|
-
|
18
|
-
|
19
|
-
user_project_path = Dir.pwd
|
20
|
-
|
21
|
-
Dir.chdir(File.dirname(__FILE__))
|
22
|
-
Dir.chdir("../")
|
23
|
-
puts Dir.pwd
|
24
|
-
|
25
|
-
begin
|
26
|
-
`ln -s #{user_project_path} #{Dir.pwd}/public`
|
27
|
-
rescue
|
28
|
-
puts 'Error creating symbolic link'
|
29
|
-
end
|
21
|
+
begin
|
22
|
+
start_server_in_background
|
30
23
|
|
31
|
-
|
32
|
-
|
24
|
+
browser = Watir::Browser.new
|
25
|
+
browser.window.resize_to 1368, 1200
|
33
26
|
|
34
|
-
|
35
|
-
|
27
|
+
Compaa::DifferenceImage.all.each do |difference_image|
|
28
|
+
browser.goto "http://localhost:#{PORT}/?filepath=#{CGI::escape(difference_image.path)}"
|
29
|
+
puts "Comparing: #{difference_image.path}"
|
30
|
+
puts "Would you like to make this the reference image?"
|
36
31
|
|
37
|
-
|
32
|
+
difference_image.create_reference_image if screenshot_approved?
|
33
|
+
end
|
38
34
|
|
39
|
-
|
40
|
-
|
41
|
-
puts "Comparing: #{difference_image.path}"
|
42
|
-
puts "Would you like to make this the reference image?"
|
35
|
+
Compaa::GeneratedImage.all.each do |generated_image|
|
36
|
+
next if generated_image.has_reference_image?
|
43
37
|
|
44
|
-
|
38
|
+
puts "Approving: #{generated_image.path}"
|
39
|
+
generated_image.create_reference_image if screenshot_approved?
|
40
|
+
end
|
41
|
+
ensure
|
42
|
+
shutdown_server
|
43
|
+
browser.close
|
45
44
|
end
|
45
|
+
end
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
47
|
+
def self.start_server_in_background
|
48
|
+
Thread.new do
|
49
|
+
Rack::Handler::WEBrick.run Compaa::RackApp.new.app,
|
50
|
+
:Port => PORT,
|
51
|
+
:Logger => Compaa::NullObject.new,
|
52
|
+
:AccessLog => [nil, nil]
|
52
53
|
end
|
54
|
+
end
|
53
55
|
|
54
|
-
|
55
|
-
|
56
|
-
browser.close
|
57
|
-
|
56
|
+
def self.shutdown_server
|
57
|
+
Rack::Handler::WEBrick.shutdown
|
58
58
|
end
|
59
59
|
|
60
60
|
def self.screenshot_approved?
|
61
|
-
|
61
|
+
STDIN.gets.chomp.downcase.start_with? 'y'
|
62
62
|
end
|
63
63
|
|
64
64
|
version Compaa::VERSION
|
data/compaa.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ['lib']
|
20
20
|
|
21
|
-
%w[rake aruba simplecov wrong minitest guard-minitest guard-cucumber].each do |lib|
|
21
|
+
%w[rake aruba simplecov wrong minitest guard-minitest guard-cucumber rack-test].each do |lib|
|
22
22
|
gem.add_development_dependency lib
|
23
23
|
end
|
24
24
|
|
@@ -30,8 +30,7 @@ Gem::Specification.new do |gem|
|
|
30
30
|
end
|
31
31
|
|
32
32
|
gem.add_dependency 'methadone', '~> 1.2.2'
|
33
|
-
gem.add_dependency 'sinatra'
|
34
|
-
gem.add_dependency 'thin'
|
35
33
|
gem.add_dependency 'haml'
|
36
34
|
gem.add_dependency 'watir-webdriver'
|
35
|
+
gem.add_dependency 'rack'
|
37
36
|
end
|
@@ -29,7 +29,7 @@ Then /^the new reference screenshot should be the same as the sample generated s
|
|
29
29
|
sample_generated_file_path = File.join fixture_image_path, 'sample_generated.png'
|
30
30
|
new_reference_file_path = File.join current_dir, *%w[artifacts reference_screenshots dir image.png]
|
31
31
|
|
32
|
-
eventually :timeout => RUBY_PLATFORM == 'java' ? 20 :
|
32
|
+
eventually :timeout => RUBY_PLATFORM == 'java' ? 20 : 10 do
|
33
33
|
new_reference_file_path.should be_the_same_file_as sample_generated_file_path
|
34
34
|
end
|
35
35
|
end
|
@@ -38,7 +38,7 @@ Then /^the new reference screenshot should be the same as the original reference
|
|
38
38
|
original_reference_file_path = File.join fixture_image_path, 'sample_reference.png'
|
39
39
|
new_reference_file_path = File.join current_dir, *%w[artifacts reference_screenshots dir image.png]
|
40
40
|
|
41
|
-
eventually :timeout => RUBY_PLATFORM == 'java' ? 20 :
|
41
|
+
eventually :timeout => RUBY_PLATFORM == 'java' ? 20 : 10 do
|
42
42
|
new_reference_file_path.should be_the_same_file_as original_reference_file_path
|
43
43
|
end
|
44
44
|
end
|
data/features/support/env.rb
CHANGED
data/lib/compaa.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'rack'
|
2
|
+
require 'haml'
|
3
|
+
|
4
|
+
module Compaa
|
5
|
+
class RackApp
|
6
|
+
attr_writer :root_directory
|
7
|
+
|
8
|
+
DEFAULT_ROOT = Dir.pwd
|
9
|
+
|
10
|
+
def app
|
11
|
+
template = File.read File.expand_path 'template.haml', File.dirname(__FILE__)
|
12
|
+
root = @root_directory or DEFAULT_ROOT
|
13
|
+
|
14
|
+
Rack::Builder.new do
|
15
|
+
use Rack::Static, :urls => ['/artifacts'], :root => root
|
16
|
+
|
17
|
+
run lambda { |env|
|
18
|
+
request = Rack::Request.new env
|
19
|
+
|
20
|
+
if request.path == '/' and request.params.has_key? 'filepath'
|
21
|
+
locals = { :filepath => request.params['filepath'] }
|
22
|
+
body = Haml::Engine.new(template).render Object.new, locals
|
23
|
+
|
24
|
+
[ 200, { 'Content-Type' => 'text/html' }, [body] ]
|
25
|
+
else
|
26
|
+
[ 404, {}, ['Not found'] ]
|
27
|
+
end
|
28
|
+
}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
!!!
|
2
|
+
%head
|
3
|
+
%script{src: "https://raw.github.com/Phrogz/context-blender/master/context_blender.js", type: "text/javascript"}
|
4
|
+
%body
|
5
|
+
%canvas#offScreenCanvas{style: 'position: absolute; left: -9999999px;'}
|
6
|
+
%canvas#difference
|
7
|
+
%img#animation{src: filepath, style: 'display: none'}
|
8
|
+
%img#oldImage{style: 'display: none'}
|
9
|
+
%img#newImage{style: 'display: none'}
|
10
|
+
|
11
|
+
#buttonBar{style: 'width: 400px; margin: 0px auto'}
|
12
|
+
%button#differenceButton Difference
|
13
|
+
%button#animationButton Animation
|
14
|
+
%button#oldImageButton Old Image
|
15
|
+
%button#newImageButton New Image
|
16
|
+
:javascript
|
17
|
+
var compaa = {
|
18
|
+
differenceGifPath: '#{filepath}',
|
19
|
+
oldImagePath: '#{filepath.gsub('gif', 'png').gsub('_difference.png', '').gsub('differences_in_screenshots_this_run','reference_screenshots')}',
|
20
|
+
newImagePath: '#{filepath.gsub('gif', 'png').gsub('_difference.png', '').gsub('differences_in_screenshots_this_run','screenshots_generated_this_run')}',
|
21
|
+
|
22
|
+
init: function() {
|
23
|
+
var oldImg=document.createElement('img');
|
24
|
+
oldImg.src = compaa.oldImagePath
|
25
|
+
|
26
|
+
var newImg=document.createElement('img');
|
27
|
+
newImg.src = compaa.newImagePath
|
28
|
+
|
29
|
+
document.getElementById('difference').width = oldImg.width;
|
30
|
+
document.getElementById('difference').height = oldImg.height;
|
31
|
+
|
32
|
+
document.getElementById('offScreenCanvas').width = newImg.width;
|
33
|
+
document.getElementById('offScreenCanvas').height = newImg.height;
|
34
|
+
|
35
|
+
var over = document.getElementById('offScreenCanvas').getContext('2d');
|
36
|
+
over.drawImage(oldImg, 0, 0);
|
37
|
+
|
38
|
+
var under = document.getElementById('difference').getContext('2d');
|
39
|
+
under.drawImage(newImg, 0, 0);
|
40
|
+
|
41
|
+
over.blendOnto(under,'difference');
|
42
|
+
|
43
|
+
document.getElementById('oldImage').src = compaa.oldImagePath;
|
44
|
+
document.getElementById('newImage').src = compaa.newImagePath;
|
45
|
+
|
46
|
+
compaa.show('difference');
|
47
|
+
|
48
|
+
document.getElementById('differenceButton').onclick = function(){compaa.show('difference')};
|
49
|
+
document.getElementById('animationButton').onclick = function(){compaa.show('animation')};
|
50
|
+
document.getElementById('oldImageButton').onclick = function(){compaa.show('oldImage')};
|
51
|
+
document.getElementById('newImageButton').onclick = function(){compaa.show('newImage')};
|
52
|
+
},
|
53
|
+
show: function(mode) {
|
54
|
+
document.getElementById('difference').style.display = 'none';
|
55
|
+
document.getElementById('animation').style.display = 'none';
|
56
|
+
document.getElementById('oldImage').style.display = 'none';
|
57
|
+
document.getElementById('newImage').style.display = 'none';
|
58
|
+
|
59
|
+
switch(mode){
|
60
|
+
case 'difference':
|
61
|
+
document.getElementById('difference').style.display = 'block';
|
62
|
+
break;
|
63
|
+
case 'animation':
|
64
|
+
document.getElementById('animation').style.display = 'block';
|
65
|
+
break;
|
66
|
+
case 'oldImage':
|
67
|
+
document.getElementById('oldImage').style.display = 'block';
|
68
|
+
break;
|
69
|
+
case 'newImage':
|
70
|
+
document.getElementById('newImage').style.display = 'block';
|
71
|
+
break;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
document.onreadystatechange = function() {
|
77
|
+
if (document.readyState == "complete" || document.readyState == "interactive") {
|
78
|
+
compaa.init();
|
79
|
+
}
|
80
|
+
}
|
data/lib/compaa/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compaa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &19861380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19861380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: aruba
|
27
|
-
requirement: &
|
27
|
+
requirement: &19859900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *19859900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: simplecov
|
38
|
-
requirement: &
|
38
|
+
requirement: &19829160 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *19829160
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: wrong
|
49
|
-
requirement: &
|
49
|
+
requirement: &19827180 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *19827180
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: minitest
|
60
|
-
requirement: &
|
60
|
+
requirement: &19824440 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *19824440
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard-minitest
|
71
|
-
requirement: &
|
71
|
+
requirement: &19796120 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *19796120
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: guard-cucumber
|
82
|
-
requirement: &
|
82
|
+
requirement: &19729380 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *19729380
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement: &
|
92
|
+
name: rack-test
|
93
|
+
requirement: &19726820 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,32 +98,32 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *19726820
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement: &
|
103
|
+
name: rb-inotify
|
104
|
+
requirement: &19722980 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ! '>='
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
type: :
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *19722980
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement: &
|
114
|
+
name: methadone
|
115
|
+
requirement: &19691520 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
|
-
- -
|
118
|
+
- - ~>
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
120
|
+
version: 1.2.2
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *19691520
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
|
-
name:
|
126
|
-
requirement: &
|
125
|
+
name: haml
|
126
|
+
requirement: &19689220 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *19689220
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
137
|
-
requirement: &
|
136
|
+
name: watir-webdriver
|
137
|
+
requirement: &19688160 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *19688160
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
|
-
name:
|
148
|
-
requirement: &
|
147
|
+
name: rack
|
148
|
+
requirement: &19649800 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *19649800
|
157
157
|
description:
|
158
158
|
email:
|
159
159
|
- skyhelpcentre@gmail.com
|
@@ -169,10 +169,8 @@ files:
|
|
169
169
|
- LICENSE.txt
|
170
170
|
- README.md
|
171
171
|
- Rakefile
|
172
|
-
- app.rb
|
173
172
|
- bin/compaa
|
174
173
|
- compaa.gemspec
|
175
|
-
- config.ru
|
176
174
|
- features/compaa.feature
|
177
175
|
- features/step_definitions/compaa_steps.rb
|
178
176
|
- features/support/env.rb
|
@@ -184,12 +182,15 @@ files:
|
|
184
182
|
- lib/compaa.rb
|
185
183
|
- lib/compaa/difference_image.rb
|
186
184
|
- lib/compaa/generated_image.rb
|
185
|
+
- lib/compaa/null_object.rb
|
186
|
+
- lib/compaa/rack_app.rb
|
187
|
+
- lib/compaa/template.haml
|
187
188
|
- lib/compaa/version.rb
|
189
|
+
- lib/watir-webdriver-fake.rb
|
188
190
|
- log/newrelic_agent.log
|
189
191
|
- spec/difference_image_spec.rb
|
190
192
|
- spec/generated_image_spec.rb
|
191
193
|
- spec/spec_helper.rb
|
192
|
-
- views/index.haml
|
193
194
|
homepage: https://github.com/bskyb-commerce-helpcentre/compaa
|
194
195
|
licenses: []
|
195
196
|
post_install_message:
|
@@ -202,18 +203,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
202
203
|
- - ! '>='
|
203
204
|
- !ruby/object:Gem::Version
|
204
205
|
version: '0'
|
205
|
-
segments:
|
206
|
-
- 0
|
207
|
-
hash: 1838838566745531366
|
208
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
207
|
none: false
|
210
208
|
requirements:
|
211
209
|
- - ! '>='
|
212
210
|
- !ruby/object:Gem::Version
|
213
211
|
version: '0'
|
214
|
-
segments:
|
215
|
-
- 0
|
216
|
-
hash: 1838838566745531366
|
217
212
|
requirements: []
|
218
213
|
rubyforge_project:
|
219
214
|
rubygems_version: 1.8.10
|
data/app.rb
DELETED
data/config.ru
DELETED
data/views/index.haml
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%head
|
3
|
-
%script{src: "https://raw.github.com/Phrogz/context-blender/master/context_blender.js", type: "text/javascript"}
|
4
|
-
%body
|
5
|
-
%canvas#offScreenCanvas{style: 'position: absolute; left: -9999999px;'}
|
6
|
-
%canvas#difference
|
7
|
-
%img#animation{src: params[:filepath], style: 'display: none'}
|
8
|
-
%img#oldImage{style: 'display: none'}
|
9
|
-
%img#newImage{style: 'display: none'}
|
10
|
-
#buttonBar{style: 'width: 400px; margin: 0px auto'}
|
11
|
-
%button#differenceButton
|
12
|
-
Difference
|
13
|
-
%button#animationButton
|
14
|
-
Animation
|
15
|
-
%button#oldImageButton
|
16
|
-
Old Image
|
17
|
-
%button#newImageButton
|
18
|
-
New Image
|
19
|
-
:javascript
|
20
|
-
var compaa = {
|
21
|
-
differenceGifPath: '#{params[:filepath]}',
|
22
|
-
oldImagePath: '#{params[:filepath].gsub('gif','png').gsub('_difference.png','').gsub('differences_in_screenshots_this_run','reference_screenshots')}',
|
23
|
-
newImagePath: '#{params[:filepath].gsub('gif','png').gsub('_difference.png','').gsub('differences_in_screenshots_this_run','screenshots_generated_this_run')}',
|
24
|
-
|
25
|
-
|
26
|
-
init: function() {
|
27
|
-
var oldImg=document.createElement('img');
|
28
|
-
oldImg.src = compaa.oldImagePath
|
29
|
-
|
30
|
-
var newImg=document.createElement('img');
|
31
|
-
newImg.src = compaa.newImagePath
|
32
|
-
|
33
|
-
document.getElementById('difference').width = oldImg.width;
|
34
|
-
document.getElementById('difference').height = oldImg.height;
|
35
|
-
|
36
|
-
document.getElementById('offScreenCanvas').width = newImg.width;
|
37
|
-
document.getElementById('offScreenCanvas').height = newImg.height;
|
38
|
-
|
39
|
-
var over = document.getElementById('offScreenCanvas').getContext('2d');
|
40
|
-
over.drawImage(oldImg, 0, 0);
|
41
|
-
|
42
|
-
var under = document.getElementById('difference').getContext('2d');
|
43
|
-
under.drawImage(newImg, 0, 0);
|
44
|
-
|
45
|
-
over.blendOnto(under,'difference');
|
46
|
-
|
47
|
-
document.getElementById('oldImage').src = compaa.oldImagePath;
|
48
|
-
document.getElementById('newImage').src = compaa.newImagePath;
|
49
|
-
|
50
|
-
compaa.show('difference');
|
51
|
-
|
52
|
-
document.getElementById('differenceButton').onclick = function(){compaa.show('difference')};
|
53
|
-
document.getElementById('animationButton').onclick = function(){compaa.show('animation')};
|
54
|
-
document.getElementById('oldImageButton').onclick = function(){compaa.show('oldImage')};
|
55
|
-
document.getElementById('newImageButton').onclick = function(){compaa.show('newImage')};
|
56
|
-
},
|
57
|
-
show: function(mode) {
|
58
|
-
|
59
|
-
document.getElementById('difference').style.display = 'none';
|
60
|
-
document.getElementById('animation').style.display = 'none';
|
61
|
-
document.getElementById('oldImage').style.display = 'none';
|
62
|
-
document.getElementById('newImage').style.display = 'none';
|
63
|
-
|
64
|
-
switch(mode){
|
65
|
-
case 'difference':
|
66
|
-
document.getElementById('difference').style.display = 'block';
|
67
|
-
break;
|
68
|
-
case 'animation':
|
69
|
-
document.getElementById('animation').style.display = 'block';
|
70
|
-
break;
|
71
|
-
case 'oldImage':
|
72
|
-
document.getElementById('oldImage').style.display = 'block';
|
73
|
-
break;
|
74
|
-
case 'newImage':
|
75
|
-
document.getElementById('newImage').style.display = 'block';
|
76
|
-
break;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
|
81
|
-
document.onreadystatechange = function () {
|
82
|
-
if (document.readyState == "complete" || document.readyState == "interactive"){
|
83
|
-
compaa.init();
|
84
|
-
}
|
85
|
-
}
|
86
|
-
|