frameworks-capybara 0.0.37 → 0.0.38

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