wraith 1.0.0 → 1.1.1

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.
@@ -0,0 +1,58 @@
1
+ require 'rspec-given'
2
+ require 'wraith'
3
+ require 'wraith_manager'
4
+
5
+ describe Wraith do
6
+ Given(:config_name) { 'test_config' }
7
+ Given { WraithManager.new(config_name).reset_shots_folder }
8
+ Given(:test_url1) { "http://www.live.bbc.co.uk/news" }
9
+ Given(:test_url2) { "http://www.live.bbc.co.uk/russian" }
10
+ Given { Dir.mkdir('shots/test') }
11
+ Given(:test_image1) { 'shots/test/test1.png' }
12
+ Given(:test_image2) { 'shots/test/test2.png' }
13
+ Given(:diff_image) { 'shots/test/test_diff.png' }
14
+ Given(:data_txt) { 'shots/test/test.txt' }
15
+
16
+ When(:wraith) { Wraith.new(config_name) }
17
+ Then { wraith.is_a? Wraith }
18
+
19
+ context "When creating a wraith worker" do
20
+ When(:no_config) { Wraith.new }
21
+ Then { no_config.should have_failed(ArgumentError) }
22
+
23
+ Then { wraith.config.keys.size == 8 }
24
+ Then { wraith.widths == [320, 600, 768, 1024, 1280] }
25
+ Then { wraith.base_domain == "http://www.live.bbc.co.uk/news" }
26
+ Then { wraith.comp_domain == "http://www.live.bbc.co.uk/russian" }
27
+ Then { wraith.base_domain_label == "english" }
28
+ Then { wraith.comp_domain_label == "russian" }
29
+ Then { wraith.paths == { "home" => "/", "uk_index" => "/uk" } }
30
+ end
31
+
32
+ context "When capturing an image" do
33
+ # capture_page_image
34
+ When do
35
+ wraith.engine.each do |type, engine|
36
+ wraith.capture_page_image( engine, test_url1, 320, test_image1 )
37
+ end
38
+ end
39
+ When(:image_size) { ImageSize.path(test_image1).size }
40
+ Then { image_size[0] == 320 }
41
+ end
42
+
43
+ context "When comparing images" do
44
+ When(:diff_image_size) do
45
+ wraith.engine.each do |type, engine|
46
+ wraith.capture_page_image( engine, test_url1, 320, test_image1 )
47
+ wraith.capture_page_image( engine, test_url2, 320, test_image2 )
48
+ end
49
+ WraithManager.new(config_name).crop_images
50
+ wraith.compare_images( test_image1, test_image2, diff_image, data_txt )
51
+ ImageSize.path(diff_image).size
52
+ end
53
+ Then { diff_image_size[0] == 320 }
54
+ end
55
+
56
+ # crop_images
57
+ # thumbnail_image
58
+ end
data/wraith.gemspec ADDED
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'wraith/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "wraith"
8
+ spec.version = Wraith::VERSION
9
+ spec.authors = ["Dave Blooman", "Simon Thulbourn"]
10
+ spec.email = ["david.blooman@gmail.com", "simon+github@thulbourn.com"]
11
+ spec.summary = 'Wraith is a screenshot comparison tool, created by developers at BBC News.'
12
+ spec.description = 'Wraith is a screenshot comparison tool, created by developers at BBC News.'
13
+ spec.homepage = "http://responsivenews.co.uk"
14
+ spec.license = "Apache 2"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "rake"
22
+ spec.add_development_dependency "pry"
23
+ spec.add_development_dependency "rspec-given"
24
+
25
+ spec.add_runtime_dependency "rake"
26
+ spec.add_runtime_dependency "image_size"
27
+ spec.add_runtime_dependency "anemone"
28
+ spec.add_runtime_dependency "robotex"
29
+ spec.add_runtime_dependency "nokogiri"
30
+ spec.add_runtime_dependency "log4r"
31
+ spec.add_runtime_dependency "thor"
32
+ end
metadata CHANGED
@@ -1,49 +1,221 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wraith
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.1.1
6
5
  platform: ruby
7
6
  authors:
8
- - David Blooman
7
+ - Dave Blooman
9
8
  - Simon Thulbourn
10
- - John Clevely
11
9
  autorequire:
12
10
  bindir: bin
13
11
  cert_chain: []
14
- date: 2013-11-20 00:00:00.000000000 Z
15
- dependencies: []
16
- description: Wraith can enable the simple comparison of 2 domains to determine if
17
- new code changes have impacted you website.
18
- email: david.blooman@gmail.com
19
- executables: []
12
+ date: 2014-02-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: pry
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec-given
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: image_size
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: anemone
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: robotex
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: nokogiri
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: log4r
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: thor
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - '>='
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ description: Wraith is a screenshot comparison tool, created by developers at BBC
155
+ News.
156
+ email:
157
+ - david.blooman@gmail.com
158
+ - simon+github@thulbourn.com
159
+ executables:
160
+ - wraith
20
161
  extensions: []
21
162
  extra_rdoc_files: []
22
163
  files:
164
+ - .gemset
165
+ - .gitignore
166
+ - .ruby-version
167
+ - .travis.yml
168
+ - Gemfile
169
+ - LICENSE
170
+ - README.md
171
+ - Rakefile
172
+ - bin/wraith
173
+ - configs/config.yaml
174
+ - configs/config_nojs.yaml
175
+ - configs/test_config.yaml
23
176
  - lib/wraith.rb
24
- homepage: https://github.com/BBC-News/wraith
177
+ - lib/wraith/assets/invalid.jpg
178
+ - lib/wraith/cli.rb
179
+ - lib/wraith/compare_images.rb
180
+ - lib/wraith/crop.rb
181
+ - lib/wraith/error.rb
182
+ - lib/wraith/folder.rb
183
+ - lib/wraith/gallery.rb
184
+ - lib/wraith/gallery_template/bootstrap.min.css
185
+ - lib/wraith/gallery_template/gallery_template.erb
186
+ - lib/wraith/images.rb
187
+ - lib/wraith/javascript/nojs.js
188
+ - lib/wraith/javascript/snap.js
189
+ - lib/wraith/save_images.rb
190
+ - lib/wraith/spider.rb
191
+ - lib/wraith/thumbnails.rb
192
+ - lib/wraith/version.rb
193
+ - lib/wraith/wraith.rb
194
+ - spec/wraith_spec.rb
195
+ - wraith.gemspec
196
+ homepage: http://responsivenews.co.uk
25
197
  licenses:
26
- - MIT
198
+ - Apache 2
199
+ metadata: {}
27
200
  post_install_message:
28
201
  rdoc_options: []
29
202
  require_paths:
30
203
  - lib
31
204
  required_ruby_version: !ruby/object:Gem::Requirement
32
- none: false
33
205
  requirements:
34
- - - ! '>='
206
+ - - '>='
35
207
  - !ruby/object:Gem::Version
36
208
  version: '0'
37
209
  required_rubygems_version: !ruby/object:Gem::Requirement
38
- none: false
39
210
  requirements:
40
- - - ! '>='
211
+ - - '>='
41
212
  - !ruby/object:Gem::Version
42
213
  version: '0'
43
214
  requirements: []
44
215
  rubyforge_project:
45
- rubygems_version: 1.8.23
216
+ rubygems_version: 2.0.14
46
217
  signing_key:
47
- specification_version: 3
48
- summary: A tool for testing CSS changes
49
- test_files: []
218
+ specification_version: 4
219
+ summary: Wraith is a screenshot comparison tool, created by developers at BBC News.
220
+ test_files:
221
+ - spec/wraith_spec.rb