Commit ba25b2dc84cc25e66d6fa1450fee39c9bac002c5
1 parent
ece56329
Exists in
master
and in
4 other branches
Use poltergeist instaead of capybara-webkit
Showing
5 changed files
with
38 additions
and
21 deletions
Show diff stats
Gemfile
@@ -123,8 +123,6 @@ group :development, :test do | @@ -123,8 +123,6 @@ group :development, :test do | ||
123 | gem 'spinach-rails' | 123 | gem 'spinach-rails' |
124 | gem "rspec-rails" | 124 | gem "rspec-rails" |
125 | gem "capybara" | 125 | gem "capybara" |
126 | - gem "capybara-webkit" | ||
127 | - gem "headless" | ||
128 | gem "pry" | 126 | gem "pry" |
129 | gem "awesome_print" | 127 | gem "awesome_print" |
130 | gem "database_cleaner" | 128 | gem "database_cleaner" |
@@ -139,6 +137,9 @@ group :development, :test do | @@ -139,6 +137,9 @@ group :development, :test do | ||
139 | gem 'rb-fsevent', require: darwin_only('rb-fsevent') | 137 | gem 'rb-fsevent', require: darwin_only('rb-fsevent') |
140 | gem 'growl', require: darwin_only('growl') | 138 | gem 'growl', require: darwin_only('growl') |
141 | gem 'rb-inotify', require: linux_only('rb-inotify') | 139 | gem 'rb-inotify', require: linux_only('rb-inotify') |
140 | + | ||
141 | + # PhantomJS driver for Capybara | ||
142 | + gem 'poltergeist' | ||
142 | end | 143 | end |
143 | 144 | ||
144 | group :test do | 145 | group :test do |
Gemfile.lock
@@ -94,9 +94,6 @@ GEM | @@ -94,9 +94,6 @@ GEM | ||
94 | rack-test (>= 0.5.4) | 94 | rack-test (>= 0.5.4) |
95 | selenium-webdriver (~> 2.0) | 95 | selenium-webdriver (~> 2.0) |
96 | xpath (~> 0.1.4) | 96 | xpath (~> 0.1.4) |
97 | - capybara-webkit (0.12.1) | ||
98 | - capybara (>= 1.0.0, < 1.2) | ||
99 | - json | ||
100 | carrierwave (0.6.2) | 97 | carrierwave (0.6.2) |
101 | activemodel (>= 3.2.0) | 98 | activemodel (>= 3.2.0) |
102 | activesupport (>= 3.2.0) | 99 | activesupport (>= 3.2.0) |
@@ -143,6 +140,8 @@ GEM | @@ -143,6 +140,8 @@ GEM | ||
143 | railties (>= 3.0.0) | 140 | railties (>= 3.0.0) |
144 | faraday (0.8.4) | 141 | faraday (0.8.4) |
145 | multipart-post (~> 1.1) | 142 | multipart-post (~> 1.1) |
143 | + faye-websocket (0.4.6) | ||
144 | + eventmachine (>= 0.12.0) | ||
146 | ffaker (1.14.0) | 145 | ffaker (1.14.0) |
147 | ffi (1.0.11) | 146 | ffi (1.0.11) |
148 | font-awesome-sass-rails (2.0.0.0) | 147 | font-awesome-sass-rails (2.0.0.0) |
@@ -189,8 +188,8 @@ GEM | @@ -189,8 +188,8 @@ GEM | ||
189 | hashery (1.5.0) | 188 | hashery (1.5.0) |
190 | blankslate | 189 | blankslate |
191 | hashie (1.2.0) | 190 | hashie (1.2.0) |
192 | - headless (0.3.1) | ||
193 | hike (1.2.1) | 191 | hike (1.2.1) |
192 | + http_parser.rb (0.5.3) | ||
194 | httparty (0.8.3) | 193 | httparty (0.8.3) |
195 | multi_json (~> 1.0) | 194 | multi_json (~> 1.0) |
196 | multi_xml | 195 | multi_xml |
@@ -260,6 +259,12 @@ GEM | @@ -260,6 +259,12 @@ GEM | ||
260 | omniauth-oauth (~> 1.0) | 259 | omniauth-oauth (~> 1.0) |
261 | orm_adapter (0.3.0) | 260 | orm_adapter (0.3.0) |
262 | pg (0.14.0) | 261 | pg (0.14.0) |
262 | + poltergeist (1.0.2) | ||
263 | + capybara (~> 1.1) | ||
264 | + childprocess (~> 0.3) | ||
265 | + faye-websocket (~> 0.4, >= 0.4.4) | ||
266 | + http_parser.rb (~> 0.5.3) | ||
267 | + multi_json (~> 1.0) | ||
263 | polyglot (0.3.3) | 268 | polyglot (0.3.3) |
264 | posix-spawn (0.3.6) | 269 | posix-spawn (0.3.6) |
265 | pry (0.9.9.6) | 270 | pry (0.9.9.6) |
@@ -422,7 +427,6 @@ DEPENDENCIES | @@ -422,7 +427,6 @@ DEPENDENCIES | ||
422 | awesome_print | 427 | awesome_print |
423 | bootstrap-sass (= 2.0.4) | 428 | bootstrap-sass (= 2.0.4) |
424 | capybara | 429 | capybara |
425 | - capybara-webkit | ||
426 | carrierwave | 430 | carrierwave |
427 | chosen-rails | 431 | chosen-rails |
428 | coffee-rails (= 3.2.2) | 432 | coffee-rails (= 3.2.2) |
@@ -449,7 +453,6 @@ DEPENDENCIES | @@ -449,7 +453,6 @@ DEPENDENCIES | ||
449 | guard-rspec | 453 | guard-rspec |
450 | guard-spinach | 454 | guard-spinach |
451 | haml-rails | 455 | haml-rails |
452 | - headless | ||
453 | httparty | 456 | httparty |
454 | jquery-atwho-rails (= 0.1.6) | 457 | jquery-atwho-rails (= 0.1.6) |
455 | jquery-rails (= 2.0.2) | 458 | jquery-rails (= 2.0.2) |
@@ -465,6 +468,7 @@ DEPENDENCIES | @@ -465,6 +468,7 @@ DEPENDENCIES | ||
465 | omniauth-ldap! | 468 | omniauth-ldap! |
466 | omniauth-twitter | 469 | omniauth-twitter |
467 | pg | 470 | pg |
471 | + poltergeist | ||
468 | pry | 472 | pry |
469 | pygments.rb (= 0.3.1) | 473 | pygments.rb (= 0.3.1) |
470 | quiet_assets (= 1.0.1) | 474 | quiet_assets (= 1.0.1) |
features/steps/project/project_issues.rb
@@ -96,8 +96,7 @@ class ProjectIssues < Spinach::FeatureSteps | @@ -96,8 +96,7 @@ class ProjectIssues < Spinach::FeatureSteps | ||
96 | end | 96 | end |
97 | 97 | ||
98 | Then 'I should see selected milestone with title "v3.0"' do | 98 | Then 'I should see selected milestone with title "v3.0"' do |
99 | - issues_milestone_selector = "#issue_milestone_id_chzn/a" | ||
100 | - wait_until { page.has_content?("Details") } | 99 | + issues_milestone_selector = "#milestone_id_chzn > a" |
101 | page.find(issues_milestone_selector).should have_content("v3.0") | 100 | page.find(issues_milestone_selector).should have_content("v3.0") |
102 | end | 101 | end |
103 | 102 |
features/support/env.rb
@@ -11,14 +11,33 @@ end | @@ -11,14 +11,33 @@ end | ||
11 | 11 | ||
12 | Dir["#{Rails.root}/features/steps/shared/*.rb"].each {|file| require file} | 12 | Dir["#{Rails.root}/features/steps/shared/*.rb"].each {|file| require file} |
13 | 13 | ||
14 | +# | ||
15 | +# Stub gitolite | ||
16 | +# | ||
14 | include GitoliteStub | 17 | include GitoliteStub |
15 | 18 | ||
16 | WebMock.allow_net_connect! | 19 | WebMock.allow_net_connect! |
17 | -Capybara.javascript_driver = :webkit | 20 | + |
21 | +# | ||
22 | +# JS driver | ||
23 | +# | ||
24 | +require 'capybara/poltergeist' | ||
25 | +Capybara.javascript_driver = :poltergeist | ||
26 | +Spinach.hooks.on_tag("javascript") do | ||
27 | + ::Capybara.current_driver = ::Capybara.javascript_driver | ||
28 | + ::Capybara.default_wait_time = 5 | ||
29 | +end | ||
30 | + | ||
18 | 31 | ||
19 | DatabaseCleaner.strategy = :truncation | 32 | DatabaseCleaner.strategy = :truncation |
20 | -Spinach.hooks.before_scenario { DatabaseCleaner.start } | ||
21 | -Spinach.hooks.after_scenario { DatabaseCleaner.clean } | 33 | + |
34 | +Spinach.hooks.before_scenario do | ||
35 | + DatabaseCleaner.start | ||
36 | +end | ||
37 | + | ||
38 | +Spinach.hooks.after_scenario do | ||
39 | + DatabaseCleaner.clean | ||
40 | +end | ||
22 | 41 | ||
23 | Spinach.hooks.before_run do | 42 | Spinach.hooks.before_run do |
24 | RSpec::Mocks::setup self | 43 | RSpec::Mocks::setup self |
spec/spec_helper.rb
@@ -11,14 +11,13 @@ require 'capybara/rails' | @@ -11,14 +11,13 @@ require 'capybara/rails' | ||
11 | require 'capybara/rspec' | 11 | require 'capybara/rspec' |
12 | require 'webmock/rspec' | 12 | require 'webmock/rspec' |
13 | require 'email_spec' | 13 | require 'email_spec' |
14 | -require 'headless' | ||
15 | 14 | ||
16 | # Requires supporting ruby files with custom matchers and macros, etc, | 15 | # Requires supporting ruby files with custom matchers and macros, etc, |
17 | # in spec/support/ and its subdirectories. | 16 | # in spec/support/ and its subdirectories. |
18 | Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} | 17 | Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} |
19 | 18 | ||
20 | -# Use capybara-webkit | ||
21 | -Capybara.javascript_driver = :webkit | 19 | +require 'capybara/poltergeist' |
20 | +Capybara.javascript_driver = :poltergeist | ||
22 | 21 | ||
23 | WebMock.disable_net_connect!(allow_localhost: true) | 22 | WebMock.disable_net_connect!(allow_localhost: true) |
24 | 23 | ||
@@ -35,11 +34,6 @@ RSpec.configure do |config| | @@ -35,11 +34,6 @@ RSpec.configure do |config| | ||
35 | # instead of true. | 34 | # instead of true. |
36 | config.use_transactional_fixtures = false | 35 | config.use_transactional_fixtures = false |
37 | 36 | ||
38 | - config.before :all do | ||
39 | - headless = Headless.new | ||
40 | - headless.start | ||
41 | - end | ||
42 | - | ||
43 | config.before do | 37 | config.before do |
44 | stub_gitolite! | 38 | stub_gitolite! |
45 | 39 |