capybara-screenshot 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7126ec4ebeb17032c6345e1609d180e2bd2f4b22
4
- data.tar.gz: 5f1ada5295afadf63c2a5fa6885ee0b930f12a45
3
+ metadata.gz: f711d80a74075257002c14a00a6493f212c29aef
4
+ data.tar.gz: 4ce30deb7d3076398bd0c9ac2f9ec59659355fd8
5
5
  SHA512:
6
- metadata.gz: 6c4e3ad03d2618f66168288493bc7452e17a01abe324431ebde7a282b7a9a0497b887edf2f8715e02ebae94068036e47efa7d28594bf3a17446219d587a8bd75
7
- data.tar.gz: 4828c6d1f7687c3c3e26f1c7d6236ebf5a3f28f376ea740abe892ef16a7199b027b42f5b15524c5487fc329ecbdffe826045088aca6d51caf043e09eb50bbfbd
6
+ metadata.gz: eb7f3178a7d365d847fee3a87fc2eb0204a858d284ba3589159745af71a0cf2722167a8935987d61a451c376e1708951334ba3fab9e29564ecad3fae7abaf35b
7
+ data.tar.gz: 5edea2883f4c986445e7951d13c1d51b988e42d7868e78effc0cf536e26368e6090162f61b20eb7be4d37ad2fcd793401fc10638da291699510530493a8d87a0
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  *.gem
2
2
  .bundle
3
3
  Gemfile.lock
4
+ gemfiles/*.lock
4
5
  pkg/*
5
6
  .rvmrc
6
7
  bin
@@ -1,10 +1,11 @@
1
1
  language: ruby
2
- script: "bundle exec rspec"
2
+ script: "rake travis:ci"
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - 2.1.1
7
- - jruby-19mode # JRuby in 1.9 mode
6
+ - ruby-head
7
+ - jruby-19mode
8
+ - jruby-head
8
9
  gemfile:
9
10
  - gemfiles/cucumber.1.2.gemfile
10
11
  - gemfiles/cucumber.1.3.0.gemfile
@@ -1,3 +1,9 @@
1
+ 18 September 2014 - 1.0.0 -> 1.0.1
2
+ -----------
3
+
4
+ * Hot fix for RSpec version issue that assumed RSpec base library was always available, now uses `RSpec::Core::VERSION`
5
+ * Improve Travis CI performance and stability
6
+
1
7
  18 September 2014 - 0.3.22 -> 1.0.0
2
8
  -----------
3
9
 
data/Rakefile CHANGED
@@ -5,6 +5,36 @@ Bundler::GemHelper.install_tasks
5
5
 
6
6
  require 'rspec/core/rake_task'
7
7
 
8
- RSpec::Core::RakeTask.new(:spec)
8
+ rspec_rake_task = RSpec::Core::RakeTask.new(:spec)
9
9
 
10
10
  task default: [:spec]
11
+
12
+ def target_gem
13
+ gem_file = ENV['BUNDLE_GEMFILE'] || ''
14
+ targets = %w(cucumber spinach rspec)
15
+
16
+ target = gem_file.match(/(#{targets.join('|')})/)
17
+ if target && targets.include?(target[1])
18
+ target[1].to_sym
19
+ else
20
+ []
21
+ end
22
+ end
23
+
24
+ namespace :travis do
25
+ task :ci => target_gem do
26
+ Rake::Task['spec'].invoke
27
+ end
28
+
29
+ task :cucumber do
30
+ rspec_rake_task.pattern = 'spec/cucumber'
31
+ end
32
+
33
+ task :spinach do
34
+ rspec_rake_task.pattern = 'spec/spinach'
35
+ end
36
+
37
+ task :rspec do
38
+ rspec_rake_task.pattern = 'spec/rspec'
39
+ end
40
+ end
@@ -6,7 +6,7 @@ module Capybara
6
6
  module TextReporter
7
7
  extend BaseReporter
8
8
 
9
- if ::RSpec::Version::STRING.to_i <= 2
9
+ if ::RSpec::Core::Version::STRING.to_i <= 2
10
10
  enhance_with_screenshot :dump_failure_info
11
11
  else
12
12
  enhance_with_screenshot :example_failed
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Screenshot
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
@@ -1,64 +1,60 @@
1
1
  require "spec_helper"
2
- require "gherkin"
3
2
 
4
- # If Gherkin Parser is not available, then we are using an old Spinach Gemset
5
- if defined?(Gherkin::Parser::Parser)
6
- describe "Using Capybara::Screenshot with Cucumber" do
7
- include Aruba::Api
8
- include CommonSetup
3
+ describe "Using Capybara::Screenshot with Cucumber" do
4
+ include Aruba::Api
5
+ include CommonSetup
9
6
 
10
- before do
11
- clean_current_dir
12
- end
13
-
14
- def run_failing_case(failure_message, code)
15
- write_file('features/support/env.rb', <<-RUBY)
16
- #{ensure_load_paths_valid}
17
- require 'cucumber/support/env.rb'
18
- #{setup_test_app}
19
- RUBY
20
-
21
- write_file('features/step_definitions/step_definitions.rb', <<-RUBY)
22
- %w(lib spec).each do |include_folder|
23
- $LOAD_PATH.unshift(File.join('#{gem_root}', include_folder))
24
- end
25
- require 'cucumber/step_definitions/step_definitions.rb'
26
- RUBY
7
+ before do
8
+ clean_current_dir
9
+ end
27
10
 
28
- write_file('features/cucumber.feature', code)
29
- cmd = 'bundle exec cucumber'
30
- run_simple cmd, false
31
- expect(output_from(cmd)).to match failure_message
32
- end
11
+ def run_failing_case(failure_message, code)
12
+ write_file('features/support/env.rb', <<-RUBY)
13
+ #{ensure_load_paths_valid}
14
+ require 'cucumber/support/env.rb'
15
+ #{setup_test_app}
16
+ RUBY
17
+
18
+ write_file('features/step_definitions/step_definitions.rb', <<-RUBY)
19
+ %w(lib spec).each do |include_folder|
20
+ $LOAD_PATH.unshift(File.join('#{gem_root}', include_folder))
21
+ end
22
+ require 'cucumber/step_definitions/step_definitions.rb'
23
+ RUBY
24
+
25
+ write_file('features/cucumber.feature', code)
26
+ cmd = 'bundle exec cucumber'
27
+ run_simple_with_retry cmd, false
28
+ expect(output_from(cmd)).to match failure_message
29
+ end
33
30
 
34
- it "saves a screenshot on failure" do
35
- run_failing_case(%q{Unable to find link or button "you'll never find me"}, <<-CUCUMBER)
36
- Feature: Failure
37
- Scenario: Failure
38
- Given I visit "/"
39
- And I click on a missing link
40
- CUCUMBER
41
- check_file_content('tmp/my_screenshot.html', 'This is the root page', true)
42
- end
31
+ it "saves a screenshot on failure" do
32
+ run_failing_case(%q{Unable to find link or button "you'll never find me"}, <<-CUCUMBER)
33
+ Feature: Failure
34
+ Scenario: Failure
35
+ Given I visit "/"
36
+ And I click on a missing link
37
+ CUCUMBER
38
+ check_file_content('tmp/my_screenshot.html', 'This is the root page', true)
39
+ end
43
40
 
44
- it "saves a screenshot on an error" do
45
- run_failing_case(%q{you can't handle me}, <<-CUCUMBER)
46
- Feature: Failure
47
- Scenario: Failure
48
- Given I visit "/"
49
- And I trigger an unhandled exception
50
- CUCUMBER
51
- check_file_content('tmp/my_screenshot.html', 'This is the root page', true)
52
- end
41
+ it "saves a screenshot on an error" do
42
+ run_failing_case(%q{you can't handle me}, <<-CUCUMBER)
43
+ Feature: Failure
44
+ Scenario: Failure
45
+ Given I visit "/"
46
+ And I trigger an unhandled exception
47
+ CUCUMBER
48
+ check_file_content('tmp/my_screenshot.html', 'This is the root page', true)
49
+ end
53
50
 
54
- it "saves a screenshot for the correct session for failures using_session" do
55
- run_failing_case(%q{Unable to find link or button "you'll never find me"}, <<-CUCUMBER)
56
- Feature: Failure
57
- Scenario: Failure in different session
58
- Given I visit "/"
59
- And I click on a missing link on a different page in a different session
60
- CUCUMBER
61
- check_file_content('tmp/my_screenshot.html', 'This is a different page', true)
62
- end
51
+ it "saves a screenshot for the correct session for failures using_session" do
52
+ run_failing_case(%q{Unable to find link or button "you'll never find me"}, <<-CUCUMBER)
53
+ Feature: Failure
54
+ Scenario: Failure in different session
55
+ Given I visit "/"
56
+ And I click on a missing link on a different page in a different session
57
+ CUCUMBER
58
+ check_file_content('tmp/my_screenshot.html', 'This is a different page', true)
63
59
  end
64
60
  end
@@ -27,7 +27,7 @@ describe "Using Capybara::Screenshot with MiniTest" do
27
27
  RUBY
28
28
 
29
29
  cmd = 'bundle exec ruby test_failure.rb'
30
- run_simple cmd, false
30
+ run_simple_with_retry cmd, false
31
31
  expect(output_from(cmd)).to include %q{Unable to find link or button "you'll never find me"}
32
32
  end
33
33
 
@@ -33,7 +33,7 @@ describe "Using Capybara::Screenshot with Test::Unit" do
33
33
  RUBY
34
34
 
35
35
  cmd = "bundle exec ruby #{integration_path}/test_failure.rb"
36
- run_simple cmd, false
36
+ run_simple_with_retry cmd, false
37
37
  expect(output_from(cmd)).to include %q{Unable to find link or button "you'll never find me"}
38
38
  end
39
39
 
@@ -23,7 +23,7 @@ describe Capybara::Screenshot::RSpec do
23
23
  RUBY
24
24
 
25
25
  cmd = "bundle exec rspec #{"--format #{format} " if format}spec/test_failure.rb"
26
- run_simple cmd, false
26
+ run_simple_with_retry cmd, false
27
27
 
28
28
  if error_message.kind_of?(Regexp)
29
29
  expect(output_from(cmd)).to match(error_message)
@@ -52,7 +52,7 @@ describe Capybara::Screenshot::RSpec do
52
52
  }
53
53
 
54
54
  # Textmate formatter is only included in RSpec 2
55
- if RSpec::Version::STRING.to_i == 2
55
+ if RSpec::Core::Version::STRING.to_i == 2
56
56
  formatters[:textmate] = %r{TextMate\.system\(.*open file://\./tmp/screenshot.html}
57
57
  end
58
58
 
@@ -16,7 +16,7 @@ require 'aruba/jruby'
16
16
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
17
17
 
18
18
  RSpec.configure do |config|
19
- if RSpec::Version::STRING.to_i == 2
19
+ if RSpec::Core::Version::STRING.to_i == 2
20
20
  config.treat_symbols_as_metadata_keys_with_true_values = true
21
21
  end
22
22
  config.run_all_when_everything_filtered = true
@@ -17,7 +17,7 @@ describe "Using Capybara::Screenshot with Spinach" do
17
17
 
18
18
  write_file('spinach.feature', code)
19
19
  cmd = 'bundle exec spinach -f .'
20
- run_simple cmd, false
20
+ run_simple_with_retry cmd, false
21
21
  expect(output_from(cmd)).to match failure_message
22
22
  end
23
23
 
@@ -20,9 +20,16 @@ module CommonSetup
20
20
  end
21
21
 
22
22
  target.before do
23
- if ENV['BUNDLE_GEMFILE'] && ENV['BUNDLE_GEMFILE'].match(/^\./)
24
- ENV['BUNDLE_GEMFILE'] = File.expand_path(ENV['BUNDLE_GEMFILE'].gsub(/^\./, gem_root))
23
+ if ENV['BUNDLE_GEMFILE'] && ENV['BUNDLE_GEMFILE'].match(/^\.|^[^\/\.]/)
24
+ ENV['BUNDLE_GEMFILE'] = File.join(gem_root, ENV['BUNDLE_GEMFILE'])
25
25
  end
26
26
  end
27
+
28
+ def run_simple_with_retry(*args)
29
+ run_simple(*args)
30
+ rescue ChildProcess::TimeoutError => e
31
+ puts "run_simple(#{args.join(', ')}) failed. Will retry once. `#{e.message}`"
32
+ run_simple(*args)
33
+ end
27
34
  end
28
35
  end
@@ -34,7 +34,7 @@ describe Capybara::Screenshot::RSpec::TextReporter do
34
34
  end
35
35
 
36
36
  let(:example_failed_method) do
37
- if ::RSpec::Version::STRING.to_i <= 2
37
+ if ::RSpec::Core::Version::STRING.to_i <= 2
38
38
  :dump_failure_info
39
39
  else
40
40
  :example_failed
@@ -43,7 +43,7 @@ describe Capybara::Screenshot::RSpec::TextReporter do
43
43
 
44
44
  def example_failed_method_argument_double(metadata = {})
45
45
  example = double("example", metadata: metadata)
46
- if ::RSpec::Version::STRING.to_i <= 2
46
+ if ::RSpec::Core::Version::STRING.to_i <= 2
47
47
  example
48
48
  else
49
49
  double("notification").tap do |notification|
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: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew O'Riordan
@@ -14,160 +14,160 @@ dependencies:
14
14
  name: capybara
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.0'
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.0'
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: launchy
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: colored
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - '>='
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - '>='
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - '>='
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '>='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: timecop
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - '>='
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - '>='
86
+ - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: cucumber
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - '>='
93
+ - - ">="
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - '>='
100
+ - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: aruba
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - '>='
107
+ - - ">="
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '>='
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: sinatra
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - '>='
121
+ - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '>='
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: test-unit
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - '>='
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - '>='
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: spinach
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - '>='
149
+ - - ">="
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - '>='
156
+ - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: minitest
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - '>='
163
+ - - ">="
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - '>='
170
+ - - ">="
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
173
  description: When a Cucumber step fails, it is useful to create a screenshot image
@@ -178,9 +178,9 @@ executables: []
178
178
  extensions: []
179
179
  extra_rdoc_files: []
180
180
  files:
181
- - .gitignore
182
- - .rspec
183
- - .travis.yml
181
+ - ".gitignore"
182
+ - ".rspec"
183
+ - ".travis.yml"
184
184
  - Appraisals
185
185
  - CHANGELOG.md
186
186
  - Gemfile
@@ -189,21 +189,13 @@ files:
189
189
  - Rakefile
190
190
  - capybara-screenshot.gemspec
191
191
  - gemfiles/cucumber.1.2.gemfile
192
- - gemfiles/cucumber.1.2.gemfile.lock
193
192
  - gemfiles/cucumber.1.3.0.gemfile
194
- - gemfiles/cucumber.1.3.0.gemfile.lock
195
193
  - gemfiles/latest.gemfile
196
- - gemfiles/latest.gemfile.lock
197
194
  - gemfiles/rspec.2.14.gemfile
198
- - gemfiles/rspec.2.14.gemfile.lock
199
195
  - gemfiles/rspec.2.99.gemfile
200
- - gemfiles/rspec.2.99.gemfile.lock
201
196
  - gemfiles/rspec.3.0.gemfile
202
- - gemfiles/rspec.3.0.gemfile.lock
203
197
  - gemfiles/spinach.0.7.gemfile
204
- - gemfiles/spinach.0.7.gemfile.lock
205
198
  - gemfiles/spinach.0.8.0.gemfile
206
- - gemfiles/spinach.0.8.0.gemfile.lock
207
199
  - lib/capybara-screenshot.rb
208
200
  - lib/capybara-screenshot/capybara.rb
209
201
  - lib/capybara-screenshot/cucumber.rb
@@ -249,17 +241,17 @@ require_paths:
249
241
  - lib
250
242
  required_ruby_version: !ruby/object:Gem::Requirement
251
243
  requirements:
252
- - - '>='
244
+ - - ">="
253
245
  - !ruby/object:Gem::Version
254
246
  version: '0'
255
247
  required_rubygems_version: !ruby/object:Gem::Requirement
256
248
  requirements:
257
- - - '>='
249
+ - - ">="
258
250
  - !ruby/object:Gem::Version
259
251
  version: '0'
260
252
  requirements: []
261
253
  rubyforge_project: capybara-screenshot
262
- rubygems_version: 2.0.14
254
+ rubygems_version: 2.2.2
263
255
  signing_key:
264
256
  specification_version: 4
265
257
  summary: Automatically create snapshots when Cucumber steps fail with Capybara and