watir-device 0.1.0 → 0.2.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: 5a88d59a32832ae710aae68b6a11121611fb9dce
4
- data.tar.gz: 5e5bbfcac8e6c8fb28b174dcc2548494f410e397
3
+ metadata.gz: d19a7097140b06008672f88a68842c53009da23f
4
+ data.tar.gz: c4ef967edf21197f47cb1a3003583b5de40c3f05
5
5
  SHA512:
6
- metadata.gz: 5aeb5129001b535c0091a9ed64c72dc315299851bd511ae77f8d192ad8429beac9d78131f827744fb8b90a9e2109ce692d9954974f8df4a25b25cdc46bd82a4f
7
- data.tar.gz: d45a75f1d45608f5d789a10247ca0529736b3211adf538511f64a33a1f0ce1addc08e788e2e15bc965df835d26221c5037beba5279dddd295f8a0c431207f158
6
+ metadata.gz: 4be0d1ce256e0da60176a4d3a16d76d8c86d82a91ed4dcc58a81541a5159f9ba2612544e09ca2329c77704baa2bc34000e82808c34de934be11e3fc4a8fb6311
7
+ data.tar.gz: 5f071c64f5027957b3d757238a52bd2084c713ac14cf65c9c76c8bab30c5614f3b5ef4071b800db3a135399607fe034d93552cdf1e6e3d3d6fd1e0bc983e32dd
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.5
6
+ - 2.2.2
7
+ script: bundle exec rspec spec
@@ -0,0 +1,4 @@
1
+ # CHANGELOG
2
+
3
+ ## v0.1.0 (Sept 1, 2015)
4
+ * Initial release
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Watir::Device
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/watir-device.svg)](http://badge.fury.io/rb/watir-device)
4
+ [![Build Status](https://travis-ci.org/jdenen/watir-device.svg?branch=master)](https://travis-ci.org/jdenen/watir-device)
5
+
3
6
  Automate Chrome Developer Tools' device emulation with watir-webdriver.
4
7
 
5
8
  ![screenshot](screenshot.png)
@@ -1,25 +1,66 @@
1
1
  require 'watir-webdriver'
2
2
 
3
3
  module Watir
4
+
5
+ #
6
+ # Automate Chrome in mobile emulation mode. Devices availabe for emulation are available in the
7
+ # Dev Tool preferences, including "Apple iPhone 6 Plus", "Samsung Galaxy Note 3", "Google Nexus 10", etc.
8
+ #
9
+ # @author Johnson Denen
10
+ #
4
11
  class Device
5
12
  attr_reader :device_name, :driver, :browser
6
13
 
7
14
  class << self
15
+
16
+ #
17
+ # Spin up an instance and navigate to a URL.
18
+ #
19
+ # @example Open iPhone 6+ to google.com
20
+ # Watir::Device.start "www.google.com", "Apple iPhone 6 Plus"
21
+ #
22
+ # @param url [String] URL to visit
23
+ # @param device_name [String] device to emulate
24
+ # @return [Watir::Device]
25
+ #
8
26
  def start url, device_name, *args
9
27
  new(device_name, *args).tap { |dev| dev.goto url }
10
28
  end
11
29
  end
12
30
 
31
+ #
32
+ # Emulate a device browser with Chrome's mobile emulation tool.
33
+ #
34
+ # @param device_name [String] device to emulate
35
+ # @return [Watir::Device]
36
+ #
13
37
  def initialize device_name, *args
14
38
  @driver = device_driver(device_name)
15
39
  @device_name = device_name
16
40
  @browser = Watir::Browser.new driver
17
41
  end
18
42
 
43
+ #
44
+ # Get the emulated device's name.
45
+ #
46
+ # @return [String]
47
+ #
19
48
  def device
20
49
  device_name
21
50
  end
22
51
 
52
+ #
53
+ # Closed instances will return string ending in CLOSED.
54
+ #
55
+ # @return [String]
56
+ # @see Object#inspect
57
+ #
58
+ def inspect
59
+ '<#%s:0x%x device=%s url=%s>' % [self.class, hash*2, device, browser.url] rescue '<#%s:0x%x device=%s CLOSED>' % [self.class, hash*2, device]
60
+ end
61
+
62
+ # Build a WebDriver to emulate the device.
63
+ # @api private
23
64
  def device_driver name
24
65
  opts = {
25
66
  "mobileEmulation" => {
@@ -30,8 +71,9 @@ module Watir
30
71
  Selenium::WebDriver.for(:chrome, desired_capabilities: capabilities)
31
72
  end
32
73
 
33
- private
34
-
74
+ # Undefined methods are passed to Watir::Browser.
75
+ # @see https://github.com/watir/watir-webdriver/blob/master/lib/watir-webdriver/browser.rb Watir::Browser
76
+ # @api private
35
77
  def method_missing mthd, *args
36
78
  browser.send(mthd, *args)
37
79
  end
@@ -1,5 +1,5 @@
1
1
  module Watir
2
2
  module WatirDevice
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -20,7 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_runtime_dependency "watir-webdriver", "~> 0.8.0"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.9"
23
+ spec.add_development_dependency "bundler", ">= 1.7"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec", "~> 3.2"
25
26
  spec.add_development_dependency "simplecov", "~> 0.10"
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-device
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johnson Denen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-01 00:00:00.000000000 Z
11
+ date: 2015-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: watir-webdriver
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: '1.9'
33
+ version: '1.7'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '1.9'
40
+ version: '1.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '3.2'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: simplecov
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,8 @@ extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
90
  - .gitignore
91
+ - .travis.yml
92
+ - CHANGELOG.md
77
93
  - Gemfile
78
94
  - LICENSE
79
95
  - README.md