capybara 0.3.9 → 0.4.0.rc

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/History.txt +43 -1
  2. data/README.rdoc +168 -98
  3. data/lib/capybara.rb +77 -15
  4. data/lib/capybara/driver/base.rb +21 -16
  5. data/lib/capybara/driver/celerity_driver.rb +39 -41
  6. data/lib/capybara/driver/culerity_driver.rb +2 -1
  7. data/lib/capybara/driver/node.rb +66 -0
  8. data/lib/capybara/driver/rack_test_driver.rb +66 -67
  9. data/lib/capybara/driver/selenium_driver.rb +43 -47
  10. data/lib/capybara/dsl.rb +44 -6
  11. data/lib/capybara/node.rb +185 -24
  12. data/lib/capybara/node/actions.rb +170 -0
  13. data/lib/capybara/node/finders.rb +150 -0
  14. data/lib/capybara/node/matchers.rb +360 -0
  15. data/lib/capybara/rails.rb +1 -0
  16. data/lib/capybara/selector.rb +52 -0
  17. data/lib/capybara/server.rb +68 -87
  18. data/lib/capybara/session.rb +221 -207
  19. data/lib/capybara/spec/driver.rb +45 -35
  20. data/lib/capybara/spec/public/test.js +1 -1
  21. data/lib/capybara/spec/session.rb +28 -53
  22. data/lib/capybara/spec/session/all_spec.rb +7 -3
  23. data/lib/capybara/spec/session/check_spec.rb +50 -52
  24. data/lib/capybara/spec/session/click_button_spec.rb +9 -0
  25. data/lib/capybara/spec/session/click_link_or_button_spec.rb +37 -0
  26. data/lib/capybara/spec/session/current_url_spec.rb +7 -0
  27. data/lib/capybara/spec/session/find_button_spec.rb +4 -2
  28. data/lib/capybara/spec/session/find_by_id_spec.rb +4 -2
  29. data/lib/capybara/spec/session/find_field_spec.rb +7 -3
  30. data/lib/capybara/spec/session/find_link_spec.rb +5 -3
  31. data/lib/capybara/spec/session/find_spec.rb +71 -6
  32. data/lib/capybara/spec/session/has_field_spec.rb +1 -1
  33. data/lib/capybara/spec/session/has_selector_spec.rb +129 -0
  34. data/lib/capybara/spec/session/has_xpath_spec.rb +4 -4
  35. data/lib/capybara/spec/session/javascript.rb +25 -5
  36. data/lib/capybara/spec/session/select_spec.rb +16 -2
  37. data/lib/capybara/spec/session/unselect_spec.rb +8 -1
  38. data/lib/capybara/spec/session/within_spec.rb +5 -5
  39. data/lib/capybara/spec/views/form.erb +65 -1
  40. data/lib/capybara/spec/views/popup_one.erb +8 -0
  41. data/lib/capybara/spec/views/popup_two.erb +8 -0
  42. data/lib/capybara/spec/views/with_html.erb +5 -0
  43. data/lib/capybara/spec/views/within_popups.erb +25 -0
  44. data/lib/capybara/{save_and_open_page.rb → util/save_and_open_page.rb} +3 -3
  45. data/lib/capybara/util/timeout.rb +27 -0
  46. data/lib/capybara/version.rb +1 -1
  47. data/spec/capybara_spec.rb +18 -8
  48. data/spec/driver/celerity_driver_spec.rb +10 -14
  49. data/spec/driver/culerity_driver_spec.rb +4 -3
  50. data/spec/driver/rack_test_driver_spec.rb +39 -2
  51. data/spec/driver/remote_culerity_driver_spec.rb +5 -7
  52. data/spec/driver/remote_selenium_driver_spec.rb +7 -10
  53. data/spec/driver/selenium_driver_spec.rb +3 -2
  54. data/spec/dsl_spec.rb +5 -14
  55. data/spec/save_and_open_page_spec.rb +19 -19
  56. data/spec/server_spec.rb +22 -10
  57. data/spec/session/celerity_session_spec.rb +17 -21
  58. data/spec/session/culerity_session_spec.rb +3 -3
  59. data/spec/session/rack_test_session_spec.rb +2 -2
  60. data/spec/session/selenium_session_spec.rb +2 -2
  61. data/spec/spec_helper.rb +27 -6
  62. data/spec/{wait_until_spec.rb → timeout_spec.rb} +14 -14
  63. metadata +88 -46
  64. data/lib/capybara/searchable.rb +0 -54
  65. data/lib/capybara/spec/session/click_spec.rb +0 -24
  66. data/lib/capybara/spec/session/locate_spec.rb +0 -65
  67. data/lib/capybara/wait_until.rb +0 -28
  68. data/lib/capybara/xpath.rb +0 -179
  69. data/spec/searchable_spec.rb +0 -66
  70. data/spec/xpath_spec.rb +0 -180
@@ -1,13 +1,14 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  describe Capybara::Driver::Selenium do
4
4
  before do
5
- @driver = Capybara::Driver::Selenium.new(TestApp)
5
+ @driver = TestSessions::Selenium.driver
6
6
  end
7
7
 
8
8
  it_should_behave_like "driver"
9
9
  it_should_behave_like "driver with javascript support"
10
10
  it_should_behave_like "driver with frame support"
11
+ it_should_behave_like "driver with support for window switching"
11
12
  it_should_behave_like "driver without status code support"
12
13
  it_should_behave_like "driver with cookies support"
13
14
  end
@@ -1,4 +1,4 @@
1
- require File.expand_path('spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  require 'capybara/dsl'
4
4
 
@@ -75,15 +75,15 @@ describe Capybara do
75
75
 
76
76
  it "should change with the current driver" do
77
77
  Capybara.current_session.mode.should == :rack_test
78
- Capybara.current_driver = :culerity
79
- Capybara.current_session.mode.should == :culerity
78
+ Capybara.current_driver = :selenium
79
+ Capybara.current_session.mode.should == :selenium
80
80
  end
81
81
 
82
82
  it "should be persistent even across driver changes" do
83
83
  object_id = Capybara.current_session.object_id
84
84
  Capybara.current_session.object_id.should == object_id
85
- Capybara.current_driver = :culerity
86
- Capybara.current_session.mode.should == :culerity
85
+ Capybara.current_driver = :selenium
86
+ Capybara.current_session.mode.should == :selenium
87
87
  Capybara.current_session.object_id.should_not == object_id
88
88
 
89
89
  Capybara.current_driver = :rack_test
@@ -99,15 +99,6 @@ describe Capybara do
99
99
  end
100
100
  end
101
101
 
102
- describe '.reset_sessions!' do
103
- it "should clear any persisted sessions" do
104
- object_id = Capybara.current_session.object_id
105
- Capybara.current_session.object_id.should == object_id
106
- Capybara.reset_sessions!
107
- Capybara.current_session.object_id.should_not == object_id
108
- end
109
- end
110
-
111
102
  describe 'the DSL' do
112
103
  before do
113
104
  @session = Capybara
@@ -1,16 +1,16 @@
1
- require File.expand_path('spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
- require 'capybara/save_and_open_page'
3
+ require 'capybara/util/save_and_open_page'
4
4
  require 'launchy'
5
- describe Capybara::SaveAndOpenPage do
6
- describe "#save_save_and_open_page" do
5
+ describe Capybara do
6
+ describe ".save_save_and_open_page" do
7
7
  before do
8
8
  @time = Time.new.strftime("%Y%m%d%H%M%S")
9
9
 
10
10
  @temp_file = mock("FILE")
11
11
  @temp_file.stub!(:write)
12
12
  @temp_file.stub!(:close)
13
-
13
+
14
14
  @html = <<-HTML
15
15
  <html>
16
16
  <head>
@@ -27,48 +27,48 @@ describe Capybara::SaveAndOpenPage do
27
27
  describe "defaults" do
28
28
  before do
29
29
  @name = "capybara-#{@time}.html"
30
-
30
+
31
31
  @temp_file.stub!(:path).and_return(@name)
32
32
 
33
33
  File.should_receive(:exist?).and_return true
34
34
  File.should_receive(:new).and_return @temp_file
35
35
  end
36
-
36
+
37
37
  it "should create a new temporary file" do
38
38
  @temp_file.should_receive(:write).with @html
39
- Capybara::SaveAndOpenPage.save_and_open_page @html
39
+ Capybara.save_and_open_page @html
40
40
  end
41
41
 
42
42
  it "should open the file in the browser" do
43
- Capybara::SaveAndOpenPage.should_receive(:open_in_browser).with(@name)
44
- Capybara::SaveAndOpenPage.save_and_open_page @html
43
+ Capybara.should_receive(:open_in_browser).with(@name)
44
+ Capybara.save_and_open_page @html
45
45
  end
46
46
  end
47
-
47
+
48
48
  describe "custom output path" do
49
49
  before do
50
50
  @custom_path = File.join('tmp', 'capybara')
51
51
  @custom_name = File.join(@custom_path, "capybara-#{@time}.html")
52
52
 
53
53
  @temp_file.stub!(:path).and_return(@custom_name)
54
-
54
+
55
55
  Capybara.should_receive(:save_and_open_page_path).at_least(:once).and_return(@custom_path)
56
56
  end
57
-
57
+
58
58
  it "should create a new temporary file in the custom path" do
59
59
  File.should_receive(:directory?).and_return true
60
60
  File.should_receive(:exist?).and_return true
61
61
  File.should_receive(:new).and_return @temp_file
62
-
62
+
63
63
  @temp_file.should_receive(:write).with @html
64
- Capybara::SaveAndOpenPage.save_and_open_page @html
64
+ Capybara.save_and_open_page @html
65
65
  end
66
-
66
+
67
67
  it "should open the file - in the custom path - in the browser" do
68
- Capybara::SaveAndOpenPage.should_receive(:open_in_browser).with(@custom_name)
69
- Capybara::SaveAndOpenPage.save_and_open_page @html
68
+ Capybara.should_receive(:open_in_browser).with(@custom_name)
69
+ Capybara.save_and_open_page @html
70
70
  end
71
-
71
+
72
72
  it "should be possible to configure output path" do
73
73
  Capybara.should respond_to(:save_and_open_page_path)
74
74
  default_setting = Capybara.save_and_open_page_path
@@ -1,13 +1,13 @@
1
- require File.expand_path('spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  describe Capybara::Server do
4
4
 
5
5
  it "should spool up a rack server" do
6
6
  @app = proc { |env| [200, {}, "Hello Server!"]}
7
7
  @server = Capybara::Server.new(@app).boot
8
-
8
+
9
9
  @res = Net::HTTP.start(@server.host, @server.port) { |http| http.get('/') }
10
-
10
+
11
11
  @res.body.should include('Hello Server')
12
12
  end
13
13
 
@@ -16,21 +16,33 @@ describe Capybara::Server do
16
16
  @server = Capybara::Server.new(nil).boot
17
17
  end.should_not raise_error
18
18
  end
19
-
19
+
20
+ it "should use specified port" do
21
+ Capybara.server_port = 22789
22
+
23
+ @app = proc { |env| [200, {}, "Hello Server!"]}
24
+ @server = Capybara::Server.new(@app).boot
25
+
26
+ @res = Net::HTTP.start(@server.host, 22789) { |http| http.get('/') }
27
+ @res.body.should include('Hello Server')
28
+
29
+ Capybara.server_port = nil
30
+ end
31
+
20
32
  it "should find an available port" do
21
33
  @app1 = proc { |env| [200, {}, "Hello Server!"]}
22
34
  @app2 = proc { |env| [200, {}, "Hello Second Server!"]}
23
35
 
24
36
  @server1 = Capybara::Server.new(@app1).boot
25
37
  @server2 = Capybara::Server.new(@app2).boot
26
-
38
+
27
39
  @res1 = Net::HTTP.start(@server1.host, @server1.port) { |http| http.get('/') }
28
40
  @res1.body.should include('Hello Server')
29
-
41
+
30
42
  @res2 = Net::HTTP.start(@server2.host, @server2.port) { |http| http.get('/') }
31
43
  @res2.body.should include('Hello Second Server')
32
44
  end
33
-
45
+
34
46
  it "should use the server if it already running" do
35
47
  @app1 = proc { |env| [200, {}, "Hello Server!"]}
36
48
  @app2 = proc { |env| [200, {}, "Hello Second Server!"]}
@@ -39,13 +51,13 @@ describe Capybara::Server do
39
51
  @server1b = Capybara::Server.new(@app1).boot
40
52
  @server2a = Capybara::Server.new(@app2).boot
41
53
  @server2b = Capybara::Server.new(@app2).boot
42
-
54
+
43
55
  @res1 = Net::HTTP.start(@server1b.host, @server1b.port) { |http| http.get('/') }
44
56
  @res1.body.should include('Hello Server')
45
-
57
+
46
58
  @res2 = Net::HTTP.start(@server2b.host, @server2b.port) { |http| http.get('/') }
47
59
  @res2.body.should include('Hello Second Server')
48
-
60
+
49
61
  @server1a.port.should == @server1b.port
50
62
  @server2a.port.should == @server2b.port
51
63
  end
@@ -1,28 +1,24 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
- if RUBY_PLATFORM =~ /java/
4
- describe Capybara::Driver::Celerity do
5
- before(:all) do
6
- @session = Capybara::Session.new(:celerity, TestApp)
7
- end
3
+ describe Capybara::Driver::Celerity, :jruby => :platform do
4
+ before(:all) do
5
+ @session = TestSessions::Celerity
6
+ end
8
7
 
9
- describe '#driver' do
10
- it "should be a celerity driver" do
11
- @session.driver.should be_an_instance_of(Capybara::Driver::Celerity)
12
- end
8
+ describe '#driver' do
9
+ it "should be a celerity driver" do
10
+ @session.driver.should be_an_instance_of(Capybara::Driver::Celerity)
13
11
  end
12
+ end
14
13
 
15
- describe '#mode' do
16
- it "should remember the mode" do
17
- @session.mode.should == :celerity
18
- end
14
+ describe '#mode' do
15
+ it "should remember the mode" do
16
+ @session.mode.should == :celerity
19
17
  end
20
-
21
- it_should_behave_like "session"
22
- it_should_behave_like "session with javascript support"
23
- it_should_behave_like "session with headers support"
24
- it_should_behave_like "session with status code support"
25
18
  end
26
- else
27
- puts "#{File.basename(__FILE__)} requires JRuby; skipping.."
19
+
20
+ it_should_behave_like "session"
21
+ it_should_behave_like "session with javascript support"
22
+ it_should_behave_like "session with headers support"
23
+ it_should_behave_like "session with status code support"
28
24
  end
@@ -1,9 +1,9 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
- describe Capybara::Session do
3
+ describe Capybara::Session, :jruby => :installed do
4
4
  context 'with culerity driver' do
5
5
  before(:all) do
6
- @session = Capybara::Session.new(:culerity, TestApp)
6
+ @session = TestSessions::Culerity
7
7
  end
8
8
 
9
9
  describe '#driver' do
@@ -1,9 +1,9 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  describe Capybara::Session do
4
4
  context 'with rack test driver' do
5
5
  before do
6
- @session = Capybara::Session.new(:rack_test, TestApp)
6
+ @session = TestSessions::RackTest
7
7
  end
8
8
 
9
9
  describe '#driver' do
@@ -1,9 +1,9 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  describe Capybara::Session do
4
4
  context 'with selenium driver' do
5
5
  before do
6
- @session = Capybara::Session.new(:selenium, TestApp)
6
+ @session = TestSessions::Selenium
7
7
  end
8
8
 
9
9
  describe '#driver' do
@@ -1,9 +1,9 @@
1
1
  $:.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
2
- $:.unshift(File.dirname(__FILE__))
3
2
 
4
3
  require 'rubygems'
5
- require 'spec'
6
- require 'spec/autorun'
4
+ require "bundler/setup"
5
+
6
+ require 'rspec'
7
7
  require 'capybara'
8
8
  require 'capybara/spec/driver'
9
9
  require 'capybara/spec/session'
@@ -12,8 +12,29 @@ alias :running :lambda
12
12
 
13
13
  Capybara.default_wait_time = 0 # less timeout so tests run faster
14
14
 
15
- Spec::Runner.configure do |config|
16
- config.after do
17
- Capybara.default_selector = :xpath
15
+ module TestSessions
16
+ RackTest = Capybara::Session.new(:rack_test, TestApp)
17
+ Selenium = Capybara::Session.new(:selenium, TestApp)
18
+ Culerity = Capybara::Session.new(:culerity, TestApp)
19
+ Celerity = Capybara::Session.new(:celerity, TestApp)
20
+ end
21
+
22
+ RSpec.configure do |config|
23
+
24
+ running_with_jruby = RUBY_PLATFORM =~ /java/
25
+ jruby_installed = `which jruby` && $?.success?
26
+
27
+ warn "** Skipping Celerity specs because platform is not Java" unless running_with_jruby
28
+ warn "** Skipping Culerity specs because JRuby is not installed" unless jruby_installed
29
+
30
+ config.filter_run_excluding(:jruby => lambda { |value|
31
+ return true if value == :platform && !running_with_jruby
32
+ return true if value == :installed && !jruby_installed
33
+ })
34
+
35
+ config.before do
36
+ Capybara.configure do |config|
37
+ config.default_selector = :xpath
38
+ end
18
39
  end
19
40
  end
@@ -1,28 +1,28 @@
1
- require File.expand_path('spec_helper', File.dirname(__FILE__))
1
+ require 'spec_helper'
2
2
 
3
3
  require 'capybara'
4
- require 'capybara/wait_until'
4
+ require 'capybara/util/timeout'
5
5
 
6
6
  module Capybara
7
-
8
- describe WaitUntil do
9
-
7
+
8
+ describe '.timeout' do
9
+
10
10
  it "should return result of yield if it returns true value within timeout" do
11
- WaitUntil.timeout { "hello" }.should == "hello"
11
+ Capybara.timeout { "hello" }.should == "hello"
12
12
  end
13
-
13
+
14
14
  it "should keep trying within timeout" do
15
15
  count = 0
16
- WaitUntil.timeout { count += 1; count == 5 ? count : nil }.should == 5
16
+ Capybara.timeout { count += 1; count == 5 ? count : nil }.should == 5
17
17
  end
18
-
18
+
19
19
  it "should raise Capybara::TimeoutError if block fails to return true within timeout" do
20
- running do
21
- WaitUntil.timeout(0.1) { false }
20
+ running do
21
+ Capybara.timeout(0.1) { false }
22
22
  end.should raise_error(::Capybara::TimeoutError)
23
23
  end
24
-
24
+
25
25
  end
26
-
26
+
27
27
  end
28
-
28
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease: false
4
+ prerelease: true
6
5
  segments:
7
6
  - 0
8
- - 3
9
- - 9
10
- version: 0.3.9
7
+ - 4
8
+ - 0
9
+ - rc
10
+ version: 0.4.0.rc
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonas Nicklas
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-03 00:00:00 +02:00
18
+ date: 2010-10-12 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,7 +26,6 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 29
30
29
  segments:
31
30
  - 1
32
31
  - 3
@@ -42,7 +41,6 @@ dependencies:
42
41
  requirements:
43
42
  - - ">="
44
43
  - !ruby/object:Gem::Version
45
- hash: 47
46
44
  segments:
47
45
  - 1
48
46
  - 16
@@ -57,7 +55,6 @@ dependencies:
57
55
  requirements:
58
56
  - - ">="
59
57
  - !ruby/object:Gem::Version
60
- hash: 31
61
58
  segments:
62
59
  - 0
63
60
  - 2
@@ -66,101 +63,142 @@ dependencies:
66
63
  type: :runtime
67
64
  version_requirements: *id003
68
65
  - !ruby/object:Gem::Dependency
69
- name: selenium-webdriver
66
+ name: celerity
70
67
  prerelease: false
71
68
  requirement: &id004 !ruby/object:Gem::Requirement
72
69
  none: false
73
70
  requirements:
74
71
  - - ">="
75
72
  - !ruby/object:Gem::Version
76
- hash: 25
77
73
  segments:
78
74
  - 0
79
- - 0
80
- - 3
81
- version: 0.0.3
75
+ - 7
76
+ - 9
77
+ version: 0.7.9
82
78
  type: :runtime
83
79
  version_requirements: *id004
84
80
  - !ruby/object:Gem::Dependency
85
- name: rack
81
+ name: selenium-webdriver
86
82
  prerelease: false
87
83
  requirement: &id005 !ruby/object:Gem::Requirement
88
84
  none: false
89
85
  requirements:
90
86
  - - ">="
91
87
  - !ruby/object:Gem::Version
92
- hash: 23
88
+ segments:
89
+ - 0
90
+ - 0
91
+ - 27
92
+ version: 0.0.27
93
+ type: :runtime
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: rack
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
93
103
  segments:
94
104
  - 1
95
105
  - 0
96
106
  - 0
97
107
  version: 1.0.0
98
108
  type: :runtime
99
- version_requirements: *id005
109
+ version_requirements: *id006
100
110
  - !ruby/object:Gem::Dependency
101
111
  name: rack-test
102
112
  prerelease: false
103
- requirement: &id006 !ruby/object:Gem::Requirement
113
+ requirement: &id007 !ruby/object:Gem::Requirement
104
114
  none: false
105
115
  requirements:
106
116
  - - ">="
107
117
  - !ruby/object:Gem::Version
108
- hash: 3
109
118
  segments:
110
119
  - 0
111
120
  - 5
112
121
  - 4
113
122
  version: 0.5.4
114
123
  type: :runtime
115
- version_requirements: *id006
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ name: xpath
127
+ prerelease: false
128
+ requirement: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ segments:
134
+ - 0
135
+ - 1
136
+ - 2
137
+ version: 0.1.2
138
+ type: :runtime
139
+ version_requirements: *id008
116
140
  - !ruby/object:Gem::Dependency
117
141
  name: sinatra
118
142
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
143
+ requirement: &id009 !ruby/object:Gem::Requirement
120
144
  none: false
121
145
  requirements:
122
146
  - - ">="
123
147
  - !ruby/object:Gem::Version
124
- hash: 51
125
148
  segments:
126
149
  - 0
127
150
  - 9
128
151
  - 4
129
152
  version: 0.9.4
130
153
  type: :development
131
- version_requirements: *id007
154
+ version_requirements: *id009
132
155
  - !ruby/object:Gem::Dependency
133
156
  name: rspec
134
157
  prerelease: false
135
- requirement: &id008 !ruby/object:Gem::Requirement
158
+ requirement: &id010 !ruby/object:Gem::Requirement
136
159
  none: false
137
160
  requirements:
138
161
  - - ">="
139
162
  - !ruby/object:Gem::Version
140
- hash: 13
141
163
  segments:
142
- - 1
143
164
  - 2
144
- - 9
145
- version: 1.2.9
165
+ - 0
166
+ - 0
167
+ - beta
168
+ - 22
169
+ version: 2.0.0.beta.22
146
170
  type: :development
147
- version_requirements: *id008
171
+ version_requirements: *id010
148
172
  - !ruby/object:Gem::Dependency
149
173
  name: launchy
150
174
  prerelease: false
151
- requirement: &id009 !ruby/object:Gem::Requirement
175
+ requirement: &id011 !ruby/object:Gem::Requirement
152
176
  none: false
153
177
  requirements:
154
178
  - - ">="
155
179
  - !ruby/object:Gem::Version
156
- hash: 25
157
180
  segments:
158
181
  - 0
159
182
  - 3
160
183
  - 5
161
184
  version: 0.3.5
162
185
  type: :development
163
- version_requirements: *id009
186
+ version_requirements: *id011
187
+ - !ruby/object:Gem::Dependency
188
+ name: yard
189
+ prerelease: false
190
+ requirement: &id012 !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ segments:
196
+ - 0
197
+ - 5
198
+ - 8
199
+ version: 0.5.8
200
+ type: :development
201
+ version_requirements: *id012
164
202
  description: Capybara is an integration testing tool for rack based web applications. It simulates how a user would interact with a website
165
203
  email:
166
204
  - jonas.nicklas@gmail.com
@@ -175,13 +213,16 @@ files:
175
213
  - lib/capybara/driver/base.rb
176
214
  - lib/capybara/driver/celerity_driver.rb
177
215
  - lib/capybara/driver/culerity_driver.rb
216
+ - lib/capybara/driver/node.rb
178
217
  - lib/capybara/driver/rack_test_driver.rb
179
218
  - lib/capybara/driver/selenium_driver.rb
180
219
  - lib/capybara/dsl.rb
220
+ - lib/capybara/node/actions.rb
221
+ - lib/capybara/node/finders.rb
222
+ - lib/capybara/node/matchers.rb
181
223
  - lib/capybara/node.rb
182
224
  - lib/capybara/rails.rb
183
- - lib/capybara/save_and_open_page.rb
184
- - lib/capybara/searchable.rb
225
+ - lib/capybara/selector.rb
185
226
  - lib/capybara/server.rb
186
227
  - lib/capybara/session.rb
187
228
  - lib/capybara/spec/driver.rb
@@ -195,8 +236,8 @@ files:
195
236
  - lib/capybara/spec/session/check_spec.rb
196
237
  - lib/capybara/spec/session/choose_spec.rb
197
238
  - lib/capybara/spec/session/click_button_spec.rb
239
+ - lib/capybara/spec/session/click_link_or_button_spec.rb
198
240
  - lib/capybara/spec/session/click_link_spec.rb
199
- - lib/capybara/spec/session/click_spec.rb
200
241
  - lib/capybara/spec/session/current_url_spec.rb
201
242
  - lib/capybara/spec/session/fill_in_spec.rb
202
243
  - lib/capybara/spec/session/find_button_spec.rb
@@ -210,11 +251,11 @@ files:
210
251
  - lib/capybara/spec/session/has_field_spec.rb
211
252
  - lib/capybara/spec/session/has_link_spec.rb
212
253
  - lib/capybara/spec/session/has_select_spec.rb
254
+ - lib/capybara/spec/session/has_selector_spec.rb
213
255
  - lib/capybara/spec/session/has_table_spec.rb
214
256
  - lib/capybara/spec/session/has_xpath_spec.rb
215
257
  - lib/capybara/spec/session/headers.rb
216
258
  - lib/capybara/spec/session/javascript.rb
217
- - lib/capybara/spec/session/locate_spec.rb
218
259
  - lib/capybara/spec/session/response_code.rb
219
260
  - lib/capybara/spec/session/select_spec.rb
220
261
  - lib/capybara/spec/session/uncheck_spec.rb
@@ -227,6 +268,8 @@ files:
227
268
  - lib/capybara/spec/views/form.erb
228
269
  - lib/capybara/spec/views/frame_one.erb
229
270
  - lib/capybara/spec/views/frame_two.erb
271
+ - lib/capybara/spec/views/popup_one.erb
272
+ - lib/capybara/spec/views/popup_two.erb
230
273
  - lib/capybara/spec/views/postback.erb
231
274
  - lib/capybara/spec/views/tables.erb
232
275
  - lib/capybara/spec/views/with_html.erb
@@ -234,9 +277,10 @@ files:
234
277
  - lib/capybara/spec/views/with_scope.erb
235
278
  - lib/capybara/spec/views/with_simple_html.erb
236
279
  - lib/capybara/spec/views/within_frames.erb
280
+ - lib/capybara/spec/views/within_popups.erb
281
+ - lib/capybara/util/save_and_open_page.rb
282
+ - lib/capybara/util/timeout.rb
237
283
  - lib/capybara/version.rb
238
- - lib/capybara/wait_until.rb
239
- - lib/capybara/xpath.rb
240
284
  - lib/capybara.rb
241
285
  - spec/capybara_spec.rb
242
286
  - spec/driver/celerity_driver_spec.rb
@@ -247,15 +291,13 @@ files:
247
291
  - spec/driver/selenium_driver_spec.rb
248
292
  - spec/dsl_spec.rb
249
293
  - spec/save_and_open_page_spec.rb
250
- - spec/searchable_spec.rb
251
294
  - spec/server_spec.rb
252
295
  - spec/session/celerity_session_spec.rb
253
296
  - spec/session/culerity_session_spec.rb
254
297
  - spec/session/rack_test_session_spec.rb
255
298
  - spec/session/selenium_session_spec.rb
256
299
  - spec/spec_helper.rb
257
- - spec/wait_until_spec.rb
258
- - spec/xpath_spec.rb
300
+ - spec/timeout_spec.rb
259
301
  - README.rdoc
260
302
  - History.txt
261
303
  has_rdoc: true
@@ -273,19 +315,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
315
  requirements:
274
316
  - - ">="
275
317
  - !ruby/object:Gem::Version
276
- hash: 3
277
318
  segments:
278
319
  - 0
279
320
  version: "0"
280
321
  required_rubygems_version: !ruby/object:Gem::Requirement
281
322
  none: false
282
323
  requirements:
283
- - - ">="
324
+ - - ">"
284
325
  - !ruby/object:Gem::Version
285
- hash: 3
286
326
  segments:
287
- - 0
288
- version: "0"
327
+ - 1
328
+ - 3
329
+ - 1
330
+ version: 1.3.1
289
331
  requirements: []
290
332
 
291
333
  rubyforge_project: capybara