capybara-screenshot 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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