frameworks-capybara 0.0.37 → 0.0.38

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.37
1
+ 0.0.38
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{frameworks-capybara}
8
- s.version = "0.0.37"
8
+ s.version = "0.0.38"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["mcrmfc"]
12
- s.date = %q{2011-08-17}
12
+ s.date = %q{2011-08-26}
13
13
  s.description = %q{gem to aid setup of Capybara for testing bbc sites}
14
14
  s.email = %q{mcrobbins@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -31,4 +31,55 @@ class Capybara::Driver::Mechanize
31
31
  @last_request_remote = true
32
32
  end
33
33
  end
34
+
35
+ def cookies
36
+ cookies = []
37
+
38
+ agent.cookie_jar.jar.each do |domain|
39
+ domain[1].each do |path|
40
+ path[1].each do |cookie|
41
+ cookies.push({
42
+ :name => cookie[1].name,
43
+ :value => cookie[1].value,
44
+ :domain => cookie[1].domain,
45
+ :secure => cookie[1].secure,
46
+ :expires => cookie[1].expires,
47
+ :path => cookie[1].path
48
+ })
49
+ end
50
+ end
51
+ end
52
+ cookies
53
+ end
54
+
55
+ def cookie_named(name)
56
+ cookies.find { |c| c[:name] == name }
57
+ end
58
+
59
+ def delete_cookie(cookie_name)
60
+ agent.cookie_jar.jar.each do |domain|
61
+ domain[1].each do |path|
62
+ path[1].each do |cookie|
63
+ if cookie[0] == cookie_name
64
+ agent.cookie_jar.jar[domain[0]][path[0]].delete(cookie[0])
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+
71
+ def delete_all_cookies
72
+ agent.cookie_jar.clear!
73
+ end
74
+
75
+ FakeURI = Struct.new(:host)
76
+ def add_cookie(attribs)
77
+ c = Mechanize::Cookie.new(attribs[:name],attribs[:value])
78
+ # remember: mechanize always removes leading '.' from domains
79
+ c.domain = attribs[:domain].sub!(/^./, '')
80
+ c.path = '/'
81
+ c.expires = attribs[:expires]
82
+ c.secure = attribs[:secure]
83
+ agent.cookie_jar.add(FakeURI.new(c.domain),c)
84
+ end
34
85
  end
@@ -21,3 +21,61 @@ class Capybara::Driver::Node
21
21
  end
22
22
  end
23
23
 
24
+ class Capybara::Driver::Selenium
25
+ def cookies
26
+ browser.manage.all_cookies
27
+ end
28
+
29
+ def cookie_named(name)
30
+ browser.manage.cookie_named(name)
31
+ end
32
+
33
+ def delete_cookie(cookie)
34
+ browser.manage.delete_cookie(cookie)
35
+ end
36
+
37
+ def delete_all_cookies
38
+ browser.manage.delete_all_cookies
39
+ end
40
+
41
+ def add_cookie(attribs)
42
+ browser.manage.add_cookie(attribs)
43
+ end
44
+ end
45
+
46
+ module Capybara
47
+ class Session
48
+ ##
49
+ # Get all cookies
50
+ #
51
+ # @return [Array<Hash>] list of cookies
52
+ #
53
+ def cookies
54
+ driver.cookies
55
+ end
56
+
57
+ ##
58
+ # Get the cookie with the given name
59
+ #
60
+ # @param [String] name the name of the cookie
61
+ # @return [Hash, nil] the cookie, or nil if it wasn't found.
62
+ #
63
+ def cookie_named(name)
64
+ driver.cookie_named(name)
65
+ end
66
+
67
+ def delete_cookie(cookie)
68
+ driver.delete_cookie(cookie)
69
+ end
70
+
71
+ def delete_all_cookies
72
+ driver.delete_all_cookies
73
+ end
74
+
75
+ def add_cookie(attribs)
76
+ driver.add_cookie(attribs)
77
+ end
78
+ end
79
+ end
80
+
81
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frameworks-capybara
3
3
  version: !ruby/object:Gem::Version
4
- hash: 85
4
+ hash: 83
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 37
10
- version: 0.0.37
9
+ - 38
10
+ version: 0.0.38
11
11
  platform: ruby
12
12
  authors:
13
13
  - mcrmfc
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-17 00:00:00 +01:00
18
+ date: 2011-08-26 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency