capybara-ios-emulation-driver 0.0.5 → 0.0.9
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -2
- data/LICENSE.txt +1 -1
- data/README.md +3 -5
- data/capybara-ios-emulation-driver.gemspec +2 -0
- data/lib/capybara-ios-emulation-driver.rb +7 -7
- data/lib/capybara-ios-emulation-driver/profile/chrome.rb +1 -1
- data/lib/capybara-ios-emulation-driver/profile/firefox.rb +1 -1
- data/lib/capybara-ios-emulation-driver/user_agent.rb +21 -7
- data/lib/capybara-ios-emulation-driver/version.rb +1 -1
- data/test/capybara_ios_emulation_driver_test.rb +3 -3
- metadata +31 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57591848d93c20a3e5aa5b828abd26beea3e9243
|
4
|
+
data.tar.gz: 627aa94a905c9eb23e06fc4635c6f9f84f10abda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faaec1b5f0d7f3eda9c3cbcc784a8d8d9a8e1b46ef977800d7b9771a02f7fac6944b050d26d5106122f79b77ca4a0aad56d4ea4f09e0628d11db1268127463c1
|
7
|
+
data.tar.gz: f5ff20604b68a2c79854d4e2c43ecfdae52794a8d7b71b5f21244acb0d050b49bc66746a32d6a44be1a659f68ba5067a07a3e866496c2bda083ed8a3d43698ca
|
data/.travis.yml
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
# capybara-ios-emulation-driver
|
2
|
-
|
3
|
-
[](https://travis-ci.org/sunaot/capybara-selenium-driver-ios-emulation)
|
1
|
+
# capybara-ios-emulation-driver [](https://travis-ci.org/sunaot/capybara-ios-emulation-driver)
|
4
2
|
|
5
3
|
Enable drivers to emulate iOS user agent.
|
6
4
|
|
@@ -35,14 +33,14 @@ Capybara.default_driver = :ios_ff
|
|
35
33
|
|
36
34
|
# rack test
|
37
35
|
Capybara.register_driver :ios_rack_test do |app|
|
38
|
-
Capybara::
|
36
|
+
Capybara::RackTest::Driver::Ios.rack_test_driver :app => app
|
39
37
|
end
|
40
38
|
Capybara.default_driver = :ios_rack_test
|
41
39
|
```
|
42
40
|
|
43
41
|
## Contributing
|
44
42
|
|
45
|
-
1. Fork it ( http://github.com
|
43
|
+
1. Fork it ( http://github.com/sunaot/capybara-ios-emulation-driver/fork )
|
46
44
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
47
45
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
48
46
|
4. Push to the branch (`git push origin my-new-feature`)
|
@@ -12,6 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = ''
|
13
13
|
spec.homepage = "https://github.com/sunaot/capybara-selenium-driver-ios-emulation"
|
14
14
|
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = '>= 2.0.0'
|
15
16
|
|
16
17
|
spec.files = `git ls-files -z`.split("\x0")
|
17
18
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -22,4 +23,5 @@ Gem::Specification.new do |spec|
|
|
22
23
|
spec.add_dependency "selenium-webdriver"
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
25
|
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "minitest", '~> 5.0'
|
25
27
|
end
|
@@ -8,8 +8,8 @@ require "capybara-ios-emulation-driver/profile/firefox"
|
|
8
8
|
module Capybara::Selenium::Driver::Ios
|
9
9
|
def self.chrome_driver params = {}
|
10
10
|
options = {
|
11
|
-
:ios_version =>
|
12
|
-
:ios_device => :iphone,
|
11
|
+
:ios_version => ::Capybara::IosEmulationDriver::LATEST_IOS_VERSION,
|
12
|
+
:ios_device => :iphone,
|
13
13
|
:app => nil
|
14
14
|
}.update(params)
|
15
15
|
|
@@ -18,8 +18,8 @@ module Capybara::Selenium::Driver::Ios
|
|
18
18
|
|
19
19
|
def self.firefox_driver params = {}
|
20
20
|
options = {
|
21
|
-
:ios_version =>
|
22
|
-
:ios_device => :iphone,
|
21
|
+
:ios_version => ::Capybara::IosEmulationDriver::LATEST_IOS_VERSION,
|
22
|
+
:ios_device => :iphone,
|
23
23
|
:app => nil
|
24
24
|
}.update(params)
|
25
25
|
|
@@ -30,8 +30,8 @@ end
|
|
30
30
|
module Capybara::RackTest::Driver::Ios
|
31
31
|
def self.rack_test_driver params = {}
|
32
32
|
options = {
|
33
|
-
:ios_version =>
|
34
|
-
:ios_device => :iphone,
|
33
|
+
:ios_version => ::Capybara::IosEmulationDriver::LATEST_IOS_VERSION,
|
34
|
+
:ios_device => :iphone,
|
35
35
|
:app => nil,
|
36
36
|
:rack_test_options => {}
|
37
37
|
}.update(params)
|
@@ -39,7 +39,7 @@ module Capybara::RackTest::Driver::Ios
|
|
39
39
|
ua = ::Capybara::IosEmulationDriver::UserAgent.of(:ios => options[:ios_version], :device => options[:ios_device])
|
40
40
|
driver = Class.new(::Capybara::RackTest::Driver)
|
41
41
|
driver.module_eval %|
|
42
|
-
def env
|
42
|
+
def env
|
43
43
|
super.merge('HTTP_USER_AGENT' => "#{ua}")
|
44
44
|
end
|
45
45
|
|
|
@@ -3,7 +3,7 @@ module Capybara::Selenium::Driver::Ios
|
|
3
3
|
class Firefox
|
4
4
|
def self.driver_options(params = {})
|
5
5
|
options = {
|
6
|
-
:ios_version =>
|
6
|
+
:ios_version => ::Capybara::IosEmulationDriver::LATEST_IOS_VERSION,
|
7
7
|
:ios_device => :iphone,
|
8
8
|
'app.update.auto' => false,
|
9
9
|
'app.update.enabled' => false,
|
@@ -1,5 +1,19 @@
|
|
1
1
|
module Capybara::IosEmulationDriver
|
2
|
+
LATEST_IOS_VERSION = 9
|
3
|
+
|
2
4
|
module UserAgent
|
5
|
+
module Ios9
|
6
|
+
Iphone = 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A344 Safari/601.1'
|
7
|
+
Ipad = 'Mozilla/5.0 (iPad; CPU OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A344 Safari/601.1'
|
8
|
+
IpodTouch = 'Mozilla/5.0 (iPod touch; CPU OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A344 Safari/601.1'
|
9
|
+
end
|
10
|
+
|
11
|
+
module Ios8
|
12
|
+
Iphone = 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4'
|
13
|
+
Ipad = 'Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4'
|
14
|
+
IpodTouch = 'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4'
|
15
|
+
end
|
16
|
+
|
3
17
|
module Ios7
|
4
18
|
Iphone = 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
|
5
19
|
Ipad = 'Mozilla/5.0 (iPad; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
|
@@ -18,22 +32,22 @@ module Capybara::IosEmulationDriver
|
|
18
32
|
IpodTouch = 'Mozilla/5.0 (iPod; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3'
|
19
33
|
end
|
20
34
|
|
21
|
-
# ios: 5, 6, 7
|
35
|
+
# ios: 5, 6, 7, 8, 9
|
22
36
|
# device: :iphone, :ipad, :ipod_touch
|
23
37
|
def self.of(params = {})
|
24
38
|
request = {
|
25
|
-
:ios =>
|
39
|
+
:ios => LATEST_IOS_VERSION,
|
26
40
|
:device => :iphone,
|
27
41
|
}.update(params)
|
28
|
-
raise unless
|
42
|
+
raise unless (5..LATEST_IOS_VERSION).include?(request[:ios].to_i)
|
29
43
|
raise unless %w[iphone ipad ipod_touch].include?(request[:device].to_s.downcase)
|
30
44
|
case request[:device].to_s.downcase
|
31
|
-
when 'iphone'
|
32
|
-
self.const_get("Ios#{request[:ios].to_i}")
|
45
|
+
when 'iphone'
|
46
|
+
self.const_get("Ios#{request[:ios].to_i}::Iphone")
|
33
47
|
when 'ipad'
|
34
|
-
self.const_get("Ios#{request[:ios].to_i}")
|
48
|
+
self.const_get("Ios#{request[:ios].to_i}::Ipad")
|
35
49
|
when 'ipod_touch'
|
36
|
-
self.const_get("Ios#{request[:ios].to_i}")
|
50
|
+
self.const_get("Ios#{request[:ios].to_i}::IpodTouch")
|
37
51
|
end
|
38
52
|
end
|
39
53
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'minitest/unit'
|
2
1
|
require 'minitest/autorun'
|
3
2
|
require 'capybara-ios-emulation-driver'
|
3
|
+
require 'capybara/dsl'
|
4
4
|
|
5
|
-
class TestCapybaraIosEmulation <
|
6
|
-
include Capybara::DSL
|
5
|
+
class TestCapybaraIosEmulation < Minitest::Test
|
6
|
+
include ::Capybara::DSL
|
7
7
|
|
8
8
|
def test_chrome_driver
|
9
9
|
Capybara.register_driver :ios_chrome do |app|
|
metadata
CHANGED
@@ -1,71 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-ios-emulation-driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sunaot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.0'
|
69
83
|
description: ''
|
70
84
|
email:
|
71
85
|
- sunao.tanabe@gmail.com
|
@@ -73,8 +87,8 @@ executables: []
|
|
73
87
|
extensions: []
|
74
88
|
extra_rdoc_files: []
|
75
89
|
files:
|
76
|
-
- .gitignore
|
77
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".travis.yml"
|
78
92
|
- Gemfile
|
79
93
|
- LICENSE.txt
|
80
94
|
- README.md
|
@@ -96,19 +110,20 @@ require_paths:
|
|
96
110
|
- lib
|
97
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
98
112
|
requirements:
|
99
|
-
- -
|
113
|
+
- - ">="
|
100
114
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
115
|
+
version: 2.0.0
|
102
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
117
|
requirements:
|
104
|
-
- -
|
118
|
+
- - ">="
|
105
119
|
- !ruby/object:Gem::Version
|
106
120
|
version: '0'
|
107
121
|
requirements: []
|
108
122
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.4.5
|
110
124
|
signing_key:
|
111
125
|
specification_version: 4
|
112
126
|
summary: Enable drivers to emulate iOS user agent.
|
113
127
|
test_files:
|
114
128
|
- test/capybara_ios_emulation_driver_test.rb
|
129
|
+
has_rdoc:
|