capybara 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.
@@ -1,6 +1,16 @@
1
+ # Version 1.0.1
2
+
3
+ Release date: 2011-08-12
4
+
5
+ ### Fixed
6
+
7
+ * Dependend on selenium-webdriver ~>2.0 and fix deprecations [Thomas Walpole, Jo Liss]
8
+ * Depend on Launch 2.0 [Jeremy Hinegardner]
9
+ * Rack-Test ignores fill in on fields with maxlength=""
10
+
1
11
  # Version 1.0.0
2
12
 
3
- Release date:
13
+ Release date: 2011-06-14
4
14
 
5
15
  ### Added
6
16
 
@@ -23,7 +23,10 @@ class Capybara::RackTest::Node < Capybara::Driver::Node
23
23
  native.remove_attribute('checked')
24
24
  end
25
25
  elsif tag_name == 'input'
26
- if (type == 'text' || type == 'password') && self[:maxlength]
26
+ if (type == 'text' || type == 'password') && self[:maxlength] &&
27
+ !self[:maxlength].empty?
28
+ # Browser behavior for maxlength="0" is inconsistent, so we stick with
29
+ # Firefox, allowing no input
27
30
  value = value[0...self[:maxlength].to_i]
28
31
  end
29
32
  native['value'] = value.to_s
@@ -31,14 +31,14 @@ class Capybara::Selenium::Node < Capybara::Driver::Node
31
31
  end
32
32
 
33
33
  def select_option
34
- resynchronize { native.select }
34
+ resynchronize { native.click } unless selected?
35
35
  end
36
36
 
37
37
  def unselect_option
38
38
  if select_node['multiple'] != 'multiple' and select_node['multiple'] != 'true'
39
39
  raise Capybara::UnselectNotAllowed, "Cannot unselect option from single select box."
40
40
  end
41
- resynchronize { native.toggle } if selected?
41
+ resynchronize { native.click } if selected?
42
42
  end
43
43
 
44
44
  def click
@@ -46,7 +46,7 @@ class Capybara::Selenium::Node < Capybara::Driver::Node
46
46
  end
47
47
 
48
48
  def drag_to(element)
49
- resynchronize { native.drag_and_drop_on(element.native) }
49
+ resynchronize { driver.browser.action.drag_and_drop(native, element.native).perform }
50
50
  end
51
51
 
52
52
  def tag_name
@@ -97,6 +97,14 @@ shared_examples_for "select" do
97
97
  extract_results(@session)['languages'].should include('Ruby', 'Javascript')
98
98
  end
99
99
 
100
+ it "should remain selected if already selected" do
101
+ @session.select("Ruby", :from => 'Language')
102
+ @session.select("Javascript", :from => 'Language')
103
+ @session.select("Ruby", :from => 'Language')
104
+ @session.click_button('awesome')
105
+ extract_results(@session)['languages'].should include('Ruby', 'Javascript')
106
+ end
107
+
100
108
  it "should return value attribute rather than content if present" do
101
109
  @session.find_field('Underwear').value.should include('thermal')
102
110
  end
@@ -50,7 +50,7 @@
50
50
 
51
51
  <p>
52
52
  <label>Street<br/>
53
- <input type="text" name="form[street]" value="Sesame street 66"/>
53
+ <input type="text" maxlength="" name="form[street]" value="Sesame street 66"/>
54
54
  </label>
55
55
  </p>
56
56
 
@@ -23,7 +23,7 @@ module Capybara
23
23
 
24
24
  def open_in_browser(path) # :nodoc
25
25
  require "launchy"
26
- Launchy::Browser.run(path)
26
+ Launchy.open(path)
27
27
  rescue LoadError
28
28
  warn "Sorry, you need to install launchy (`gem install launchy`) and " <<
29
29
  "make sure it's available to open pages with `save_and_open_page`."
@@ -1,3 +1,3 @@
1
1
  module Capybara
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -35,7 +35,7 @@ describe Capybara do
35
35
  <html>
36
36
  HTML
37
37
 
38
- Launchy::Browser.stub(:run)
38
+ Launchy.stub(:open)
39
39
  end
40
40
 
41
41
  def default_file_expectations
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 0
9
- version: 1.0.0
8
+ - 1
9
+ version: 1.0.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jonas Nicklas
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-06-14 00:00:00 +02:00
17
+ date: 2011-08-12 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -55,10 +55,9 @@ dependencies:
55
55
  - - ~>
56
56
  - !ruby/object:Gem::Version
57
57
  segments:
58
- - 0
59
58
  - 2
60
59
  - 0
61
- version: 0.2.0
60
+ version: "2.0"
62
61
  type: :runtime
63
62
  version_requirements: *id003
64
63
  - !ruby/object:Gem::Dependency
@@ -142,13 +141,13 @@ dependencies:
142
141
  requirement: &id009 !ruby/object:Gem::Requirement
143
142
  none: false
144
143
  requirements:
145
- - - ">="
144
+ - - ~>
146
145
  - !ruby/object:Gem::Version
147
146
  segments:
147
+ - 2
148
148
  - 0
149
- - 3
150
- - 5
151
- version: 0.3.5
149
+ - 2
150
+ version: 2.0.2
152
151
  type: :development
153
152
  version_requirements: *id009
154
153
  - !ruby/object:Gem::Dependency