capybara-screenshot 0.3.1 → 0.3.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/README.md CHANGED
@@ -63,7 +63,7 @@ The gem supports the default rendering method for Capybara to generate the scree
63
63
 
64
64
  page.driver.render(path)
65
65
 
66
- There are also some specific driver configurations for Selenium, Webkit, and Poltergeist. See [https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot.rb](the definitions here). The Rack::Test driver, Rails' default, does not allow
66
+ There are also some specific driver configurations for Selenium, Webkit, and Poltergeist. See [the definitions here](https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot.rb). The Rack::Test driver, Rails' default, does not allow
67
67
  rendering, so it has a driver definition as a noop.
68
68
 
69
69
  If a driver is not found the default rendering will be used. If this doesn't work with your driver, then you can
@@ -86,6 +86,14 @@ you can override how the basename is generated for the file like so
86
86
  end
87
87
  end
88
88
 
89
+ Screenshot path in RSpec metadata
90
+ ---------------------------------
91
+
92
+ By default capybara-screenshot will append the screenshot path to a failing spec's full_description which effectively
93
+ changes the name of the spec and breaks trend reporting using tools like CI Reporter. You can turn off the default behavior
94
+ with the following invocation
95
+
96
+ Capybara::Screenshot.append_screenshot_path = false
89
97
 
90
98
  Example application
91
99
  -------------------
@@ -4,11 +4,13 @@ module Capybara
4
4
  attr_accessor :autosave_on_failure
5
5
  attr_accessor :registered_drivers
6
6
  attr_accessor :filename_prefix_formatters
7
+ attr_accessor :append_screenshot_path
7
8
  end
8
9
 
9
10
  self.autosave_on_failure = true
10
11
  self.registered_drivers = {}
11
12
  self.filename_prefix_formatters = {}
13
+ self.append_screenshot_path = true
12
14
 
13
15
  def self.screenshot_and_save_page
14
16
  saver = Saver.new(Capybara, Capybara.page)
@@ -82,7 +84,11 @@ Capybara::Screenshot.class_eval do
82
84
  end
83
85
 
84
86
  register_driver(:webkit) do |driver, path|
85
- driver.render(path)
87
+ if driver.respond_to?(:save_screenshot)
88
+ driver.save_screenshot(path)
89
+ else
90
+ driver.render(path)
91
+ end
86
92
  end
87
93
 
88
94
  register_driver(:webkit_debug) do |driver, path|
@@ -8,8 +8,10 @@ RSpec.configure do |config|
8
8
  saver = Capybara::Screenshot::Saver.new(Capybara, Capybara.page, true, filename_prefix)
9
9
  saver.save
10
10
 
11
- example.metadata[:full_description] += "\n Screenshot: #{saver.screenshot_path}"
11
+ if Capybara::Screenshot.append_screenshot_path
12
+ example.metadata[:full_description] += "\n Screenshot: #{saver.screenshot_path}"
13
+ end
12
14
  end
13
15
  end
14
16
  end
15
- end
17
+ end
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Screenshot
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
@@ -138,10 +138,28 @@ describe Capybara::Screenshot::Saver do
138
138
  capybara_mock.stub(:current_driver).and_return(:webkit)
139
139
  end
140
140
 
141
- it 'should save driver render' do
142
- driver_mock.should_receive(:render).with(screenshot_path)
141
+ context 'has render method' do
142
+ before do
143
+ driver_mock.stub(:respond_to?).with(:'save_screenshot').and_return(false)
144
+ end
143
145
 
144
- saver.save
146
+ it 'should save driver render' do
147
+ driver_mock.should_receive(:render).with(screenshot_path)
148
+
149
+ saver.save
150
+ end
151
+ end
152
+
153
+ context 'has save_screenshot method' do
154
+ before do
155
+ driver_mock.stub(:respond_to?).with(:'save_screenshot').and_return(true)
156
+ end
157
+
158
+ it 'should save driver render' do
159
+ driver_mock.should_receive(:save_screenshot).with(screenshot_path)
160
+
161
+ saver.save
162
+ end
145
163
  end
146
164
  end
147
165
 
@@ -176,4 +194,4 @@ describe Capybara::Screenshot::Saver do
176
194
  saver.save
177
195
  end
178
196
  end
179
- end
197
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-screenshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-26 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capybara
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  segments:
108
108
  - 0
109
- hash: -502489258301273906
109
+ hash: -1096024297736661067
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  segments:
117
117
  - 0
118
- hash: -502489258301273906
118
+ hash: -1096024297736661067
119
119
  requirements: []
120
120
  rubyforge_project: capybara-screenshot
121
121
  rubygems_version: 1.8.24