motion-juxtapose 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LaunchScreen.xib +32 -0
- data/README.md +27 -0
- data/Rakefile +1 -0
- data/lib/juxtapose/image_matcher.rb +21 -0
- data/lib/juxtapose/rspec.rb +10 -3
- data/lib/juxtapose/screenshotter.rb +27 -14
- data/lib/juxtapose/strategy/appium_strategy.rb +33 -0
- data/lib/juxtapose/strategy/mac_bacon_strategy.rb +3 -1
- data/lib/juxtapose/version.rb +1 -1
- data/lib/motion-juxtapose.rb +2 -0
- data/spec/controllers/test_controller_spec.rb +1 -1
- data/spec/files/dog1.jpg +0 -0
- data/spec/files/dog2.jpg +0 -0
- data/spec/files/dog_fuzzy.jpg +0 -0
- data/spec/lib/rspec_matchers_spec.rb +18 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/accepted.png +0 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/accepted.png +0 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png +0 -0
- data/spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png +0 -0
- data/spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png +0 -0
- metadata +33 -8
- data/spec/screens/iphone-retina/ios_7.1/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/accepted.png +0 -0
- data/spec/screens/iphone-retina/ios_7.1/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/accepted.png +0 -0
- data/spec/screens/iphone-retina/ios_7.1/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2ccac7f22e4efec4bbf3c70e6beea4764eb4539
|
4
|
+
data.tar.gz: 3eb7f65dd5b4585f891a97f7eac80892fbc5d828
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed97658f49980bbeb7aad17b81d63d6c6be702aff3e6a5651c9eb97dd0130b2e815b33c8b5542c9016f15af2addef85b7175716f306991efaa6d5bbba666acf1
|
7
|
+
data.tar.gz: d667feadb1158ce8dc85be01d79569fb96ef690bf77d19337aa39e0dfdfa806c6193aa30792ef69550cd6672cf9df5dcc96662f19ef61ff02e2d009ade0f4a32
|
data/LaunchScreen.xib
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
3
|
+
<dependencies>
|
4
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
5
|
+
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
6
|
+
</dependencies>
|
7
|
+
<objects>
|
8
|
+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
9
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
10
|
+
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
11
|
+
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
12
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
13
|
+
<subviews>
|
14
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Juxtapose" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
15
|
+
<rect key="frame" x="20" y="140" width="441" height="43"/>
|
16
|
+
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
17
|
+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
18
|
+
<nil key="highlightedColor"/>
|
19
|
+
</label>
|
20
|
+
</subviews>
|
21
|
+
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
22
|
+
<constraints>
|
23
|
+
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
|
24
|
+
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
25
|
+
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
|
26
|
+
</constraints>
|
27
|
+
<nil key="simulatedStatusBarMetrics"/>
|
28
|
+
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
29
|
+
<point key="canvasLocation" x="548" y="455"/>
|
30
|
+
</view>
|
31
|
+
</objects>
|
32
|
+
</document>
|
data/README.md
CHANGED
@@ -76,6 +76,28 @@ Then /^the screen should match "([^\"]*)"$/ do |template|
|
|
76
76
|
end
|
77
77
|
```
|
78
78
|
|
79
|
+
### Appium
|
80
|
+
|
81
|
+
Add the following config to your features/support/env.rb:
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
require 'motion-juxtapose'
|
85
|
+
Juxtapose::AppiumStrategy.setup
|
86
|
+
```
|
87
|
+
|
88
|
+
This lets you write a screenshot matcher along the lines of:
|
89
|
+
|
90
|
+
```ruby
|
91
|
+
Then /^the screen should match "([^\"]*)"$/ do |template|
|
92
|
+
wait_for_nothing_to_be_animating
|
93
|
+
#unlike frank we need to pass in a project root to find the screenshot directory
|
94
|
+
screenshotter = Juxtapose::Screenshotter.new(self, template, 0, File.expand_path('./'))
|
95
|
+
|
96
|
+
max_attempts = 20
|
97
|
+
expect(screenshotter.attempt_verify(max_attempts)).to eq(true)
|
98
|
+
end
|
99
|
+
```
|
100
|
+
|
79
101
|
## Testing Rails Apps
|
80
102
|
|
81
103
|
### Capybara
|
@@ -131,6 +153,10 @@ To start it, run `bundle exec juxtapose` in the root of your project and browse
|
|
131
153
|
|
132
154
|
## Release Notes
|
133
155
|
|
156
|
+
#### v.0.3.0
|
157
|
+
* Add Appium support ([@squidpunch](http://github.com/squidpunch))
|
158
|
+
* Add support for 6/6+ screen sizes ([@squidpunch](http://github.com/squidpunch))
|
159
|
+
|
134
160
|
#### v.0.2.0
|
135
161
|
* Rails/rspec support
|
136
162
|
* Fixes to work under newest version of ImageMagick
|
@@ -150,6 +176,7 @@ To start it, run `bundle exec juxtapose` in the root of your project and browse
|
|
150
176
|
* [Thomas Mayfield](http://github.com/thegreatape )
|
151
177
|
* [Jeffrey Chupp](http://github.com/semanticart)
|
152
178
|
* [Michael Denomy](http://github.com/mdenomy)
|
179
|
+
* [David Larrabee](http://github.com/squidpunch)
|
153
180
|
|
154
181
|
|
155
182
|
## Contributing
|
data/Rakefile
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
class ImageMatcher
|
2
|
+
attr_reader :fuzz_factor, :diff_file_name
|
3
|
+
def initialize(options={})
|
4
|
+
@fuzz_factor = options.fetch(:fuzz_factor, 0)
|
5
|
+
@diff_file_name = options.fetch(:diff_file_name, './temp.png')
|
6
|
+
end
|
7
|
+
|
8
|
+
def identical?(source, target)
|
9
|
+
compare_command = "compare -fuzz #{fuzz_factor}% -metric AE -dissimilarity-threshold 1 -subimage-search"
|
10
|
+
out = `#{compare_command} \"#{source}\" \"#{target}\" \"#{diff_file_name}\" 2>&1`
|
11
|
+
out.chomp!
|
12
|
+
out.start_with?('0')
|
13
|
+
end
|
14
|
+
|
15
|
+
def cleanup
|
16
|
+
if File.exist?(diff_file_name)
|
17
|
+
`rm #{diff_file_name}`
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
data/lib/juxtapose/rspec.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
if defined?(RSpec::Matchers)
|
2
|
-
RSpec::Matchers.define :look_like do |
|
3
|
-
match do |
|
4
|
-
|
2
|
+
RSpec::Matchers.define :look_like do |expected, options={}|
|
3
|
+
match do |actual|
|
4
|
+
if actual.respond_to?(:looks_like?)
|
5
|
+
actual.looks_like?(expected) == true
|
6
|
+
else
|
7
|
+
matcher = ImageMatcher.new(options)
|
8
|
+
matcher.identical?(expected, actual).tap do
|
9
|
+
matcher.cleanup
|
10
|
+
end
|
11
|
+
end
|
5
12
|
end
|
6
13
|
end
|
7
14
|
end
|
@@ -35,12 +35,14 @@ module Juxtapose
|
|
35
35
|
attr_reader :strategy
|
36
36
|
attr_reader :template
|
37
37
|
attr_reader :fuzz_factor
|
38
|
+
attr_accessor :project_root
|
38
39
|
|
39
|
-
def initialize(context, template, fuzz_factor = 0)
|
40
|
+
def initialize(context, template, fuzz_factor = 0, project_root = nil)
|
40
41
|
@context = context
|
41
42
|
@template = template.gsub(' ', '-')
|
42
43
|
@strategy = strategy_for_context(context)
|
43
44
|
@fuzz_factor = fuzz_factor
|
45
|
+
@project_root = project_root || default_project_root
|
44
46
|
end
|
45
47
|
|
46
48
|
def strategy_for_context(context)
|
@@ -50,10 +52,12 @@ module Juxtapose
|
|
50
52
|
Juxtapose::FrankStrategy.new(context)
|
51
53
|
elsif defined?(Capybara)
|
52
54
|
Juxtapose::CapybaraStrategy.new(context)
|
55
|
+
elsif defined?(Appium)
|
56
|
+
Juxtapose::AppiumStrategy.new(context)
|
53
57
|
end
|
54
58
|
end
|
55
59
|
|
56
|
-
def
|
60
|
+
def default_project_root
|
57
61
|
if defined? Rails
|
58
62
|
Rails.root
|
59
63
|
else
|
@@ -66,13 +70,19 @@ module Juxtapose
|
|
66
70
|
end
|
67
71
|
|
68
72
|
def dir
|
69
|
-
@dir ||=
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
73
|
+
@dir ||= begin
|
74
|
+
parts = [
|
75
|
+
project_root,
|
76
|
+
strategy.spec_dir,
|
77
|
+
strategy.device_name,
|
78
|
+
strategy.version,
|
79
|
+
test_name,
|
80
|
+
template
|
81
|
+
].map {|p| p.to_s.gsub(/ /, '-')}
|
82
|
+
|
83
|
+
File.join(*parts).tap do |dir|
|
84
|
+
`mkdir -p #{dir}`
|
85
|
+
end
|
76
86
|
end
|
77
87
|
end
|
78
88
|
|
@@ -125,7 +135,12 @@ module Juxtapose
|
|
125
135
|
end
|
126
136
|
|
127
137
|
def imagemagick_installed?
|
128
|
-
|
138
|
+
if RUBY_PLATFORM =~ /darwin/
|
139
|
+
`command -v convert`
|
140
|
+
else
|
141
|
+
`which convert`
|
142
|
+
end
|
143
|
+
$?.success?
|
129
144
|
end
|
130
145
|
|
131
146
|
private
|
@@ -147,10 +162,8 @@ module Juxtapose
|
|
147
162
|
end
|
148
163
|
|
149
164
|
def identical_images?
|
150
|
-
|
151
|
-
|
152
|
-
out.chomp!
|
153
|
-
out.start_with?('0')
|
165
|
+
matcher = ImageMatcher.new(fuzz_factor: fuzz_factor, diff_file_name: filename(:diff))
|
166
|
+
matcher.identical?(filename(:current), filename(:accepted))
|
154
167
|
end
|
155
168
|
|
156
169
|
def screenshots_match?
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Juxtapose
|
2
|
+
class AppiumStrategy
|
3
|
+
attr_accessor :context
|
4
|
+
attr_accessor :project_root
|
5
|
+
def self.setup
|
6
|
+
Cucumber::RbSupport::RbDsl.register_rb_hook('before', [], Proc.new {|scenario, block| @__scenario = scenario })
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize(context)
|
10
|
+
self.context = context
|
11
|
+
end
|
12
|
+
|
13
|
+
def spec_dir
|
14
|
+
"features/screens"
|
15
|
+
end
|
16
|
+
|
17
|
+
def device_name
|
18
|
+
context.driver_attributes[:caps][:deviceName].gsub(" ","-").downcase
|
19
|
+
end
|
20
|
+
|
21
|
+
def version
|
22
|
+
context.driver_attributes[:caps][:platformVersion]
|
23
|
+
end
|
24
|
+
|
25
|
+
def current_spec_description
|
26
|
+
context.instance_variable_get('@__scenario').name
|
27
|
+
end
|
28
|
+
|
29
|
+
def save_current(filename)
|
30
|
+
context.screenshot(filename)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -16,7 +16,9 @@ module Juxtapose
|
|
16
16
|
def device_name
|
17
17
|
name = [UIDevice.currentDevice.model.gsub(/\s+Simulator/, '').downcase]
|
18
18
|
name << 'retina' if UIScreen.mainScreen.scale > 1
|
19
|
-
name << '5' if UIScreen.mainScreen.bounds.size.height
|
19
|
+
name << '5' if UIScreen.mainScreen.bounds.size.height == 568.0
|
20
|
+
name << '6' if UIScreen.mainScreen.bounds.size.height == 667.0
|
21
|
+
name << '6-plus' if UIScreen.mainScreen.bounds.size.height == 736.0
|
20
22
|
name.join('-')
|
21
23
|
end
|
22
24
|
|
data/lib/juxtapose/version.rb
CHANGED
data/lib/motion-juxtapose.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require "juxtapose/version"
|
2
|
+
require "juxtapose/image_matcher"
|
2
3
|
require "juxtapose/screenshotter"
|
3
4
|
require "juxtapose/strategy/frank_strategy"
|
4
5
|
require "juxtapose/strategy/capybara_strategy"
|
6
|
+
require "juxtapose/strategy/appium_strategy"
|
5
7
|
|
6
8
|
if defined?(Motion::Project::Config)
|
7
9
|
Motion::Project::App.setup do |app|
|
@@ -33,7 +33,7 @@ describe 'screenshot testing under bacon' do
|
|
33
33
|
error.should.not.be.nil
|
34
34
|
error.message.should =~ /Screenshot did not match/
|
35
35
|
|
36
|
-
spec_dir = "spec/screens/iphone-retina/
|
36
|
+
spec_dir = "spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot"
|
37
37
|
|
38
38
|
File.should.exist(File.join( ENV["RUBYMOTION_PROJECT_DIR"], spec_dir, "current.png"))
|
39
39
|
File.should.exist(File.join( ENV["RUBYMOTION_PROJECT_DIR"], spec_dir, "diff.png"))
|
data/spec/files/dog1.jpg
ADDED
Binary file
|
data/spec/files/dog2.jpg
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
if defined?(RSpec)
|
2
|
+
describe "rspec matchers" do
|
3
|
+
require_relative '../../lib/juxtapose/image_matcher'
|
4
|
+
require_relative '../../lib/juxtapose/rspec'
|
5
|
+
|
6
|
+
it "passes true if files are identical" do
|
7
|
+
dog1 = File.join(File.dirname(__FILE__), "../files/dog1.jpg")
|
8
|
+
dog2 = File.join(File.dirname(__FILE__), "../files/dog2.jpg")
|
9
|
+
expect(dog1).to look_like(dog2)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "passes with a fuzzy threshold" do
|
13
|
+
dog1 = File.join(File.dirname(__FILE__), "../files/dog1.jpg")
|
14
|
+
dog2 = File.join(File.dirname(__FILE__), "../files/dog_fuzzy.jpg")
|
15
|
+
expect(dog1).to look_like(dog2, fuzz_factor: 78.0)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-juxtapose
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Lind
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-05-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sinatra
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- ".gitignore"
|
108
108
|
- Gemfile
|
109
109
|
- LICENSE.txt
|
110
|
+
- LaunchScreen.xib
|
110
111
|
- README.md
|
111
112
|
- Rakefile
|
112
113
|
- app/app_delegate.rb
|
@@ -152,8 +153,10 @@ files:
|
|
152
153
|
- lib/juxtapose/application/spec/spec_helper.rb
|
153
154
|
- lib/juxtapose/application/views/index.html.haml
|
154
155
|
- lib/juxtapose/capybara.rb
|
156
|
+
- lib/juxtapose/image_matcher.rb
|
155
157
|
- lib/juxtapose/rspec.rb
|
156
158
|
- lib/juxtapose/screenshotter.rb
|
159
|
+
- lib/juxtapose/strategy/appium_strategy.rb
|
157
160
|
- lib/juxtapose/strategy/capybara_strategy.rb
|
158
161
|
- lib/juxtapose/strategy/frank_strategy.rb
|
159
162
|
- lib/juxtapose/strategy/mac_bacon_strategy.rb
|
@@ -161,9 +164,20 @@ files:
|
|
161
164
|
- lib/motion-juxtapose.rb
|
162
165
|
- motion-juxtapose.gemspec
|
163
166
|
- spec/controllers/test_controller_spec.rb
|
164
|
-
- spec/
|
165
|
-
- spec/
|
166
|
-
- spec/
|
167
|
+
- spec/files/dog1.jpg
|
168
|
+
- spec/files/dog2.jpg
|
169
|
+
- spec/files/dog_fuzzy.jpg
|
170
|
+
- spec/lib/rspec_matchers_spec.rb
|
171
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/accepted.png
|
172
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/accepted.png
|
173
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png
|
174
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png
|
175
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png
|
176
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/current.png
|
177
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/current.png
|
178
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png
|
179
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png
|
180
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png
|
167
181
|
homepage: https://github.com/terriblelabs/motion-juxtapose
|
168
182
|
licenses:
|
169
183
|
- MIT
|
@@ -190,6 +204,17 @@ specification_version: 4
|
|
190
204
|
summary: Screenshot-based assertions for RubyMotion projects
|
191
205
|
test_files:
|
192
206
|
- spec/controllers/test_controller_spec.rb
|
193
|
-
- spec/
|
194
|
-
- spec/
|
195
|
-
- spec/
|
207
|
+
- spec/files/dog1.jpg
|
208
|
+
- spec/files/dog2.jpg
|
209
|
+
- spec/files/dog_fuzzy.jpg
|
210
|
+
- spec/lib/rspec_matchers_spec.rb
|
211
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/accepted.png
|
212
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/accepted.png
|
213
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png
|
214
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png
|
215
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png
|
216
|
+
- spec/screens/iphone-retina-6/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/current.png
|
217
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-passes-when-there-is-an-identical-accepted-screenshot/accepted-screenshot/current.png
|
218
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-and-produces-diffs-on-failure/going-to-differ-screenshot/current.png
|
219
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-no-accepted-screenshot-is-present/no-accepted-screenshot/current.png
|
220
|
+
- spec/screens/iphone-retina/ios_8.3/screenshot-testing-under-bacon-raises-an-error-when-screens-are-different-sizes/different-sized-screenshot/accepted.png
|
Binary file
|
Binary file
|