show_me_the_cookies 3.1.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cabb7ee404e599162b16e424b052f8174900a70f
4
- data.tar.gz: 0f44970d1529fabcf8d3579b2179eeeedcce77d8
3
+ metadata.gz: b786abed42a08a5f1ca008e722475ab215db4cac
4
+ data.tar.gz: '029a71131e14ab735d7886e971b956f05f0c6adc'
5
5
  SHA512:
6
- metadata.gz: 5e3133480ed20fed0cdd99937222a54d3e1fa22e95cba4fe42480022f279b8b23afacd227f583bdac1c082360f47bc46e982440cc3e4e3d73e273e28961601f6
7
- data.tar.gz: 85747cc5de537f6128a436690a3805abd0b0676f31e7fcfd59aeecdcd3a678d7291452fb63f11ed0ca4609dd22547c5fb8c0fa300cffe9616fd431122af563dc
6
+ metadata.gz: 39f69eaac7f76adeca3ffaf1bfac7f051de22390d9d334d3a0d1df78be92ead0f850d834b8ab292e46670462defdcb84b34762396ac851ada1e194c837c6c13f
7
+ data.tar.gz: f1fde28a446fd7ad542505734abac440febedc3fce610c8382b6bb0fac0db869c57110375c61e583e9cd89c33b076bd5f0b343543836aca557ec27952fd42aa5
data/.gitignore CHANGED
@@ -2,13 +2,9 @@ pkg/*
2
2
  *.gem
3
3
  .bundle
4
4
 
5
- # don't vc this, http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/
6
- Gemfile.lock
7
-
8
5
  capybara*html
9
6
  bin/
10
7
  .rspec
11
8
  .rbenv-version
12
- .akephalos/
13
9
  .idea
14
10
  .ruby-version
data/Gemfile CHANGED
@@ -2,3 +2,14 @@ source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in show_me_the_cookies.gemspec
4
4
  gemspec
5
+
6
+ gem 'rake' # for releases
7
+
8
+ group :test do
9
+ gem 'rspec', '~> 3.0'
10
+ gem 'poltergeist', git: 'https://github.com/teampoltergeist/poltergeist', ref: 'f822d3a'
11
+ gem 'sinatra'
12
+ gem 'selenium-webdriver'
13
+ gem 'chromedriver-helper' # chromedriver installer
14
+ gem 'capybara-webkit'
15
+ end
@@ -0,0 +1,99 @@
1
+ GIT
2
+ remote: https://github.com/teampoltergeist/poltergeist
3
+ revision: f822d3acbe110669420c311484e3dfafa2d31e18
4
+ ref: f822d3a
5
+ specs:
6
+ poltergeist (1.17.0)
7
+ capybara (>= 2.1, < 4)
8
+ cliver (~> 0.3.1)
9
+ websocket-driver (>= 0.2.0)
10
+
11
+ PATH
12
+ remote: .
13
+ specs:
14
+ show_me_the_cookies (4.0.0)
15
+ capybara (>= 2, < 4)
16
+
17
+ GEM
18
+ remote: http://rubygems.org/
19
+ specs:
20
+ addressable (2.5.2)
21
+ public_suffix (>= 2.0.2, < 4.0)
22
+ archive-zip (0.11.0)
23
+ io-like (~> 0.3.0)
24
+ capybara (3.0.1)
25
+ addressable
26
+ mini_mime (>= 0.1.3)
27
+ nokogiri (~> 1.8)
28
+ rack (>= 1.6.0)
29
+ rack-test (>= 0.6.3)
30
+ xpath (~> 3.0)
31
+ capybara-webkit (1.15.0)
32
+ capybara (>= 2.3, < 4.0)
33
+ json
34
+ childprocess (0.9.0)
35
+ ffi (~> 1.0, >= 1.0.11)
36
+ chromedriver-helper (1.2.0)
37
+ archive-zip (~> 0.10)
38
+ nokogiri (~> 1.8)
39
+ cliver (0.3.2)
40
+ diff-lcs (1.3)
41
+ ffi (1.9.23)
42
+ io-like (0.3.0)
43
+ json (2.1.0)
44
+ mini_mime (1.0.0)
45
+ mini_portile2 (2.3.0)
46
+ mustermann (1.0.2)
47
+ nokogiri (1.8.2)
48
+ mini_portile2 (~> 2.3.0)
49
+ public_suffix (3.0.2)
50
+ rack (2.0.4)
51
+ rack-protection (2.0.1)
52
+ rack
53
+ rack-test (1.0.0)
54
+ rack (>= 1.0, < 3)
55
+ rake (12.3.1)
56
+ rspec (3.7.0)
57
+ rspec-core (~> 3.7.0)
58
+ rspec-expectations (~> 3.7.0)
59
+ rspec-mocks (~> 3.7.0)
60
+ rspec-core (3.7.1)
61
+ rspec-support (~> 3.7.0)
62
+ rspec-expectations (3.7.0)
63
+ diff-lcs (>= 1.2.0, < 2.0)
64
+ rspec-support (~> 3.7.0)
65
+ rspec-mocks (3.7.0)
66
+ diff-lcs (>= 1.2.0, < 2.0)
67
+ rspec-support (~> 3.7.0)
68
+ rspec-support (3.7.1)
69
+ rubyzip (1.2.1)
70
+ selenium-webdriver (3.11.0)
71
+ childprocess (~> 0.5)
72
+ rubyzip (~> 1.2)
73
+ sinatra (2.0.1)
74
+ mustermann (~> 1.0)
75
+ rack (~> 2.0)
76
+ rack-protection (= 2.0.1)
77
+ tilt (~> 2.0)
78
+ tilt (2.0.8)
79
+ websocket-driver (0.7.0)
80
+ websocket-extensions (>= 0.1.0)
81
+ websocket-extensions (0.1.3)
82
+ xpath (3.0.0)
83
+ nokogiri (~> 1.8)
84
+
85
+ PLATFORMS
86
+ ruby
87
+
88
+ DEPENDENCIES
89
+ capybara-webkit
90
+ chromedriver-helper
91
+ poltergeist!
92
+ rake
93
+ rspec (~> 3.0)
94
+ selenium-webdriver
95
+ show_me_the_cookies!
96
+ sinatra
97
+
98
+ BUNDLED WITH
99
+ 1.16.0
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Show me the cookies
2
2
 
3
- [![Build Status](https://semaphoreapp.com/api/v1/projects/9a0dc444-fd04-4187-95a7-7a07abecbad7/201807/shields_badge.png)](https://semaphoreapp.com/nruth/show_me_the_cookies) [![Gem Version](https://badge.fury.io/rb/show_me_the_cookies.svg)](http://badge.fury.io/rb/show_me_the_cookies) [![Inline docs](http://inch-ci.org/github/nruth/show_me_the_cookies.svg?branch=master)](http://inch-ci.org/github/nruth/show_me_the_cookies) [![endorse](https://api.coderwall.com/nruth/endorsecount.png)](https://coderwall.com/nruth)
3
+ [![Build Status](https://semaphoreapp.com/api/v1/projects/9a0dc444-fd04-4187-95a7-7a07abecbad7/201807/shields_badge.png)](https://semaphoreapp.com/nruth/show_me_the_cookies) [![Gem Version](https://badge.fury.io/rb/show_me_the_cookies.svg)](http://badge.fury.io/rb/show_me_the_cookies)
4
4
 
5
5
  Some helpers for poking around at your Capybara driven browser's cookies in integration tests. Should have been called capybara-cookies if you go by the [rubygems naming guide](http://guides.rubygems.org/name-your-gem/).
6
6
 
@@ -28,10 +28,10 @@ You may add new drivers for your application by implementing an adapter class an
28
28
 
29
29
  # removes session cookies and expired persistent cookies
30
30
  expire_cookies
31
-
31
+
32
32
  # creates a cookie
33
33
  create_cookie(cookie_name, cookie_value)
34
-
34
+
35
35
  # creates a cookie for the path or domain
36
36
  create_cookie(cookie_name, cookie_value, :path => "...", :domain => "...")
37
37
 
@@ -51,9 +51,7 @@ in spec_helper/rails_helper or your required support directory:
51
51
  config.include ShowMeTheCookies, :type => :feature
52
52
  end
53
53
 
54
- ### Example usage
55
-
56
- In a request spec, using [Capybara](https://github.com/jnicklas/capybara)
54
+ Then, in a feature spec using [Capybara](https://github.com/jnicklas/capybara):
57
55
 
58
56
  specify "user login is remembered across browser restarts" do
59
57
  log_in_as_user
@@ -145,7 +143,7 @@ If you get DNS lookup failures try this in the terminal
145
143
 
146
144
  host lvh.me
147
145
 
148
- You should get a quick response of
146
+ You should get a quick response of
149
147
 
150
148
  lvh.me has address 127.0.0.1
151
149
 
@@ -6,6 +6,8 @@ module ShowMeTheCookies
6
6
 
7
7
  def get_me_the_cookie(cookie_name)
8
8
  @browser.manage.cookie_named(cookie_name)
9
+ rescue ::Selenium::WebDriver::Error::NoSuchCookieError
10
+ nil
9
11
  end
10
12
 
11
13
  def get_me_the_cookies
@@ -31,7 +31,7 @@ module ShowMeTheCookies
31
31
  def create_cookie(name, value, options)
32
32
  host = options.delete(:domain) || (Capybara.app_host ? URI(Capybara.app_host).host : '127.0.0.1')
33
33
  puts "Webkit create_cookie options not supported: #{options.inspect}" if options && (options != {})
34
- @driver.set_cookie("#{name}=#{value}; domain=#{host}")
34
+ @driver.set_cookie("#{name}=#{Rack::Utils.escape(value)}; domain=#{host}")
35
35
  end
36
36
 
37
37
  private
@@ -1,5 +1,5 @@
1
1
  # change gem version here then use bundler's rake tasks to make a new release
2
- # try to use semantic versioning http://guides.rubygems.org/patterns/#semantic-versioning
2
+ # follow semantic versioning http://guides.rubygems.org/patterns/#semantic-versioning
3
3
  module ShowMeTheCookies
4
- VERSION = '3.1.0'
4
+ VERSION = '4.0.0'
5
5
  end
@@ -17,12 +17,5 @@ Gem::Specification.new do |s|
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
- s.add_dependency('capybara', '~> 2.0')
21
- s.add_development_dependency 'rake' # for releases
22
- s.add_development_dependency 'rspec', '~> 3.0' # for testing
23
- s.add_development_dependency 'sinatra' # for testing
24
- s.add_development_dependency 'poltergeist' # for testing
25
- s.add_development_dependency 'selenium-webdriver' # removed from capy2 deps
26
- s.add_development_dependency 'chromedriver-helper' # chromedriver installer
27
- s.add_development_dependency 'capybara-webkit' # for testing
20
+ s.add_dependency('capybara', ['>= 2', '< 4'])
28
21
  end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'shared_examples_for_api'
3
3
  require 'capybara/poltergeist'
4
4
 
5
- describe 'Poltergeist', type: :feature do
5
+ RSpec.describe 'Poltergeist', type: :feature do
6
6
  before(:each) do
7
7
  Capybara.current_driver = :poltergeist
8
8
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'shared_examples_for_api'
3
3
 
4
- describe 'RackTest', type: :feature do
4
+ RSpec.describe 'RackTest', type: :feature do
5
5
  before(:each) do
6
6
  Capybara.current_driver = :rack_test
7
7
  end
@@ -1,12 +1,20 @@
1
1
  require 'spec_helper'
2
2
  require 'shared_examples_for_api'
3
+ require "selenium/webdriver"
3
4
 
4
5
  Capybara.register_driver :selenium_chrome do |app|
5
- Capybara::Selenium::Driver.new(app, browser: :chrome)
6
- end
6
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
7
+ chromeOptions: { args: %w(headless disable-gpu) },
8
+ )
7
9
 
10
+ Capybara::Selenium::Driver.new(
11
+ app,
12
+ browser: :chrome,
13
+ desired_capabilities: capabilities,
14
+ )
15
+ end
8
16
 
9
- describe 'Selenium Webdriver Chrome', type: :feature do
17
+ RSpec.describe 'Selenium Webdriver Chrome', type: :feature do
10
18
  before(:each) do
11
19
  Capybara.current_driver = :selenium_chrome
12
20
  end
@@ -1,7 +1,15 @@
1
1
  require 'spec_helper'
2
2
  require 'shared_examples_for_api'
3
+ require 'selenium-webdriver'
3
4
 
4
- describe 'Selenium Webdriver Firefox', type: :feature do
5
+
6
+
7
+ Capybara.register_driver :selenium do |app|
8
+ options = Selenium::WebDriver::Firefox::Options.new(args: ['-headless'])
9
+ Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
10
+ end
11
+
12
+ RSpec.describe 'Selenium Webdriver Firefox', type: :feature do
5
13
  before(:each) do
6
14
  Capybara.current_driver = :selenium
7
15
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'shared_examples_for_api'
3
3
 
4
- describe 'RackTest when rack-test adapter uninstalled', type: :feature do
4
+ RSpec.describe 'RackTest when rack-test adapter uninstalled', type: :feature do
5
5
  before(:each) do
6
6
  Capybara.current_driver = :rack_test
7
7
  ShowMeTheCookies.register_adapter(:rack_test, nil)
@@ -6,7 +6,7 @@ Capybara::Webkit.configure do |config|
6
6
  config.allow_url("subdomain.lvh.me")
7
7
  end
8
8
 
9
- describe 'Webkit', type: :feature do
9
+ RSpec.describe 'Webkit', type: :feature do
10
10
  before(:each) do
11
11
  Capybara.current_driver = :webkit
12
12
  end
@@ -1,5 +1,8 @@
1
1
  require 'capybara/rspec'
2
2
 
3
+ # puma dependency unnecessary for this small project, just use stdlib
4
+ Capybara.server = :webrick
5
+
3
6
  require File.join(File.dirname(__FILE__), *%w(app set_cookie))
4
7
  Capybara.app = Sinatra::Application
5
8
 
metadata CHANGED
@@ -1,127 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: show_me_the_cookies
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Rutherford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-30 00:00:00.000000000 Z
11
+ date: 2018-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: sinatra
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: poltergeist
71
15
  requirement: !ruby/object:Gem::Requirement
72
16
  requirements:
73
17
  - - ">="
74
18
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
19
+ version: '2'
20
+ - - "<"
81
21
  - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: selenium-webdriver
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: chromedriver-helper
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
22
+ version: '4'
23
+ type: :runtime
105
24
  prerelease: false
106
25
  version_requirements: !ruby/object:Gem::Requirement
107
26
  requirements:
108
27
  - - ">="
109
28
  - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: capybara-webkit
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
29
+ version: '2'
30
+ - - "<"
123
31
  - !ruby/object:Gem::Version
124
- version: '0'
32
+ version: '4'
125
33
  description: Cookie manipulation for Capybara drivers -- viewing, deleting, ...
126
34
  email:
127
35
  - nick.rutherford@gmail.com
@@ -131,6 +39,7 @@ extra_rdoc_files: []
131
39
  files:
132
40
  - ".gitignore"
133
41
  - Gemfile
42
+ - Gemfile.lock
134
43
  - README.md
135
44
  - Rakefile
136
45
  - lib/show_me_the_cookies.rb
@@ -145,7 +54,7 @@ files:
145
54
  - spec/drivers/poltergeist_spec.rb
146
55
  - spec/drivers/rack-test_spec.rb
147
56
  - spec/drivers/selenium_chrome_spec.rb
148
- - spec/drivers/selenium_spec.rb
57
+ - spec/drivers/selenium_firefox_spec.rb
149
58
  - spec/drivers/unknown_driver_spec.rb
150
59
  - spec/drivers/webkit_spec.rb
151
60
  - spec/shared_examples_for_api.rb
@@ -170,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
79
  version: '0'
171
80
  requirements: []
172
81
  rubyforge_project:
173
- rubygems_version: 2.4.5.1
82
+ rubygems_version: 2.6.14
174
83
  signing_key:
175
84
  specification_version: 4
176
85
  summary: Cookie manipulation for Capybara drivers
@@ -179,7 +88,7 @@ test_files:
179
88
  - spec/drivers/poltergeist_spec.rb
180
89
  - spec/drivers/rack-test_spec.rb
181
90
  - spec/drivers/selenium_chrome_spec.rb
182
- - spec/drivers/selenium_spec.rb
91
+ - spec/drivers/selenium_firefox_spec.rb
183
92
  - spec/drivers/unknown_driver_spec.rb
184
93
  - spec/drivers/webkit_spec.rb
185
94
  - spec/shared_examples_for_api.rb