watir-rails 0.1.2 → 1.0.0
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 +11 -0
- data/CHANGES.md +5 -0
- data/Gemfile +3 -1
- data/README.md +6 -11
- data/Rakefile +6 -0
- data/lib/watir/browser.rb +42 -14
- data/lib/watir/rails.rb +12 -8
- data/lib/watir/version.rb +1 -1
- data/spec/spec_helper.rb +15 -0
- data/spec/support/fake_browser_with_goto.rb +8 -0
- data/spec/support/watir.rb +9 -0
- data/spec/watir/browser_spec.rb +66 -0
- data/spec/watir/rails/middleware_spec.rb +30 -0
- data/spec/watir/rails_spec.rb +127 -0
- data/watir-rails.gemspec +4 -3
- metadata +39 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31008115d6a0ed1cd3554b257f0d28237ca3449d
|
4
|
+
data.tar.gz: a44a67b33ffef400006f8a3a36770e58af34ae72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29ddc148bfe23b5bb9adb807a18fafb15a696de78b9cb462e90348580ac076ca157709f6ee6ed900aad58139e60a26d1fc7414b20e64eec78ef4dbcf404039db
|
7
|
+
data.tar.gz: 1a2a9bcc5d9c6546e4735f895057021de0b21b20bd1aa628d35d0f73bee5cda907ea33946a1a437e077b32fe8d0102a727d0d2879ddbc4ef24803feee7bb9576
|
data/.travis.yml
ADDED
data/CHANGES.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# Watir::Rails
|
2
|
+
[](http://badge.fury.io/rb/watir-rails)
|
3
|
+
[](http://travis-ci.org/watir/watir-rails)
|
4
|
+
[](https://coveralls.io/r/watir/watir-rails)
|
2
5
|
|
3
|
-
This gem
|
6
|
+
This gem makes the [Watir](https://github.com/watir/watir) work with Rails.
|
4
7
|
|
5
8
|
|
6
9
|
## Installation
|
@@ -9,7 +12,7 @@ Add this code to your Gemfile:
|
|
9
12
|
|
10
13
|
```ruby
|
11
14
|
group :test do
|
12
|
-
gem
|
15
|
+
gem "watir-rails"
|
13
16
|
end
|
14
17
|
```
|
15
18
|
|
@@ -34,7 +37,7 @@ This feature is only enabled when `config.action_dispatch.show_exceptions` is se
|
|
34
37
|
You can disable it in watir-rails by ignoring exceptions:
|
35
38
|
|
36
39
|
```ruby
|
37
|
-
Watir::Rails.ignore_exceptions =
|
40
|
+
Watir::Rails.ignore_exceptions = true
|
38
41
|
```
|
39
42
|
|
40
43
|
## Limitations
|
@@ -56,11 +59,3 @@ The problem is probably caused by the fact that [WIN32OLE overwrites Thread#init
|
|
56
59
|
## License
|
57
60
|
|
58
61
|
See [LICENSE](https://github.com/watir/watir-rails/blob/master/LICENSE).
|
59
|
-
|
60
|
-
## Contributing
|
61
|
-
|
62
|
-
1. Fork it
|
63
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
64
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
65
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
66
|
-
5. Create new Pull Request
|
data/Rakefile
CHANGED
data/lib/watir/browser.rb
CHANGED
@@ -7,32 +7,60 @@ module Watir
|
|
7
7
|
# Will start Rails instance for Watir automatically and then invoke the
|
8
8
|
# original Watir::Browser#initialize method.
|
9
9
|
def initialize(*args)
|
10
|
-
|
11
|
-
original_initialize *args
|
12
|
-
add_checker do
|
13
|
-
if error = Rails.error
|
14
|
-
Rails.error = nil
|
15
|
-
raise error
|
16
|
-
end
|
17
|
-
end unless Rails.ignore_exceptions?
|
10
|
+
initialize_rails_with_watir *args
|
18
11
|
end
|
19
12
|
|
20
|
-
# @private
|
21
|
-
alias_method :original_goto, :goto
|
22
|
-
|
23
13
|
# Opens the url with the browser instance.
|
24
14
|
# Will add {Rails.host} and {Rails.port} to the url when path is specified.
|
25
15
|
#
|
26
|
-
# @example
|
16
|
+
# @example Go to the regular url:
|
27
17
|
# browser.goto "http://google.com"
|
28
18
|
#
|
29
|
-
# @example
|
19
|
+
# @example Go to the controller path:
|
30
20
|
# browser.goto home_path
|
31
21
|
#
|
32
22
|
# @param [String] url URL to be navigated to.
|
33
23
|
def goto(url)
|
34
24
|
url = "http://#{Rails.host}:#{Rails.port}#{url}" unless url =~ %r{^(about|data|https?):}i
|
35
|
-
|
25
|
+
_new_goto url
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def override_and_preserve_original_methods(*method_names, &block)
|
31
|
+
method_names.each do |method_name|
|
32
|
+
next if respond_to? "_original_#{method_name}", true
|
33
|
+
self.class.send :alias_method, "_original_#{method_name}", method_name
|
34
|
+
end
|
35
|
+
|
36
|
+
result = block.call
|
37
|
+
|
38
|
+
method_names.each do |method_name|
|
39
|
+
next if respond_to? "_new_#{method_name}", true
|
40
|
+
self.class.send :alias_method, "_new_#{method_name}", method_name
|
41
|
+
|
42
|
+
self.class.send :define_method, method_name do |*args|
|
43
|
+
send("_original_#{method_name}", *args)
|
44
|
+
#send("_new_#{method_name}", *args)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
result
|
49
|
+
end
|
50
|
+
|
51
|
+
def initialize_rails_with_watir(*args)
|
52
|
+
Rails.boot
|
53
|
+
override_and_preserve_original_methods(:goto) { original_initialize *args }
|
54
|
+
add_exception_checker unless Rails.ignore_exceptions?
|
55
|
+
end
|
56
|
+
|
57
|
+
def add_exception_checker
|
58
|
+
add_checker do
|
59
|
+
if error = Rails.error
|
60
|
+
Rails.error = nil
|
61
|
+
raise error
|
62
|
+
end
|
63
|
+
end
|
36
64
|
end
|
37
65
|
end
|
38
66
|
end
|
data/lib/watir/rails.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require "uri"
|
2
|
+
require "net/http"
|
3
|
+
require "rack"
|
4
|
+
require "watir"
|
5
|
+
require "rails"
|
5
6
|
require File.expand_path("browser.rb", File.dirname(__FILE__))
|
6
7
|
require File.expand_path("rails/middleware.rb", File.dirname(__FILE__))
|
7
8
|
|
@@ -23,14 +24,13 @@ module Watir
|
|
23
24
|
run_default_server @middleware, @port
|
24
25
|
end
|
25
26
|
|
26
|
-
Timeout.timeout(
|
27
|
+
Timeout.timeout(boot_timeout) { @server_thread.join(0.1) until running? }
|
27
28
|
end
|
28
29
|
rescue TimeoutError
|
29
|
-
raise "Rails Rack application timed out during boot"
|
30
|
+
raise TimeoutError, "Rails Rack application timed out during boot"
|
30
31
|
end
|
31
32
|
|
32
|
-
# Host for Rails app under test.
|
33
|
-
# {.local_host} is used.
|
33
|
+
# Host for Rails app under test. Default is {.local_host}.
|
34
34
|
#
|
35
35
|
# @return [String] Host for Rails app under test.
|
36
36
|
def host
|
@@ -119,6 +119,10 @@ module Watir
|
|
119
119
|
|
120
120
|
private
|
121
121
|
|
122
|
+
def boot_timeout
|
123
|
+
60
|
124
|
+
end
|
125
|
+
|
122
126
|
def find_available_port
|
123
127
|
server = TCPServer.new(local_host, 0)
|
124
128
|
server.addr[1]
|
data/lib/watir/version.rb
CHANGED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "simplecov"
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
5
|
+
SimpleCov.start
|
6
|
+
|
7
|
+
# Make sure that fake watir gems are loaded for specs.
|
8
|
+
$LOAD_PATH.unshift File.expand_path("support", File.dirname(__FILE__))
|
9
|
+
|
10
|
+
require "watir/rails"
|
11
|
+
|
12
|
+
RSpec.configure do |c|
|
13
|
+
c.color = true
|
14
|
+
c.order = :random
|
15
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Watir::Browser do
|
4
|
+
before { Watir::Rails.stub(ignore_exceptions?: true) }
|
5
|
+
|
6
|
+
context "#initialize" do
|
7
|
+
it "starts Rails before opening the browser" do
|
8
|
+
Watir::Rails.should_receive(:boot)
|
9
|
+
Watir::Browser.any_instance.should_receive(:original_initialize).and_call_original
|
10
|
+
|
11
|
+
Watir::Browser.new
|
12
|
+
end
|
13
|
+
|
14
|
+
it "does not add Exception checker when exceptions are ignored" do
|
15
|
+
Watir::Rails.stub(ignore_exceptions?: true, boot: nil)
|
16
|
+
|
17
|
+
Watir::Browser.any_instance.should_not_receive(:add_exception_checker)
|
18
|
+
Watir::Browser.new
|
19
|
+
end
|
20
|
+
|
21
|
+
it "adds Exception checker when exceptions are not ignored" do
|
22
|
+
Watir::Rails.stub(ignore_exceptions?: false, boot: nil)
|
23
|
+
|
24
|
+
Watir::Browser.any_instance.should_receive(:add_exception_checker)
|
25
|
+
Watir::Browser.new
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context "#goto" do
|
30
|
+
before do
|
31
|
+
Watir::Rails.stub(host: "foo.com", port: 42, boot: nil)
|
32
|
+
end
|
33
|
+
|
34
|
+
let(:browser) { Watir::Browser.new }
|
35
|
+
|
36
|
+
it "uses Rails for paths specified as an url" do
|
37
|
+
browser.should_receive(:_new_goto).with("http://foo.com:42/foo/bar")
|
38
|
+
browser.goto("/foo/bar")
|
39
|
+
end
|
40
|
+
|
41
|
+
it "does not alter url with http:// scheme" do
|
42
|
+
browser.should_receive(:_new_goto).with("http://baz.org/lol")
|
43
|
+
browser.goto("http://baz.org/lol")
|
44
|
+
end
|
45
|
+
|
46
|
+
it "does not alter url with https:// scheme" do
|
47
|
+
browser.should_receive(:_new_goto).with("https://baz.org/lol")
|
48
|
+
browser.goto("https://baz.org/lol")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "does not alter about:urls" do
|
52
|
+
browser.should_receive(:_new_goto).with("about:url")
|
53
|
+
browser.goto("about:url")
|
54
|
+
end
|
55
|
+
|
56
|
+
it "does not alter data:urls" do
|
57
|
+
browser.should_receive(:_new_goto).with("data:url")
|
58
|
+
browser.goto("data:url")
|
59
|
+
end
|
60
|
+
|
61
|
+
it "alters the unknown urls" do
|
62
|
+
browser.should_receive(:_new_goto).with("http://foo.com:42/xxx:yyy")
|
63
|
+
browser.goto("http://foo.com:42/xxx:yyy")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Watir::Rails::Middleware do
|
4
|
+
let(:app) { double("app") }
|
5
|
+
let(:middleware) { described_class.new app }
|
6
|
+
|
7
|
+
context "#call" do
|
8
|
+
it "/__identify__ returns app id" do
|
9
|
+
app.should_not_receive(:call)
|
10
|
+
middleware.call("PATH_INFO" => "/__identify__").should == [200, {}, [app.object_id.to_s]]
|
11
|
+
end
|
12
|
+
|
13
|
+
it "other requests are forwarded to the app" do
|
14
|
+
env = {}
|
15
|
+
app.should_receive(:call).with(env)
|
16
|
+
middleware.call(env)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "errors are stored and re-raised" do
|
20
|
+
error = RuntimeError.new
|
21
|
+
app.stub(:call).and_raise error
|
22
|
+
|
23
|
+
expect {
|
24
|
+
middleware.call({})
|
25
|
+
}.to raise_error(error)
|
26
|
+
|
27
|
+
middleware.error.should == error
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Watir::Rails do
|
4
|
+
before do
|
5
|
+
described_class.stub(:warn)
|
6
|
+
described_class.ignore_exceptions = false
|
7
|
+
described_class.instance_eval { @middleware = @port = @server_thread = @host = @app = nil }
|
8
|
+
end
|
9
|
+
|
10
|
+
context ".boot" do
|
11
|
+
it "starts the server unless already running" do
|
12
|
+
described_class.stub(app: double("app"), find_available_port: 42)
|
13
|
+
described_class.should_receive(:running?).twice.and_return(false, true)
|
14
|
+
described_class.should_receive(:run_default_server).once
|
15
|
+
|
16
|
+
described_class.boot
|
17
|
+
end
|
18
|
+
|
19
|
+
it "does nothing if server is already running" do
|
20
|
+
described_class.stub(app: double("app"), find_available_port: 42)
|
21
|
+
described_class.should_receive(:running?).once.and_return(true)
|
22
|
+
described_class.should_not_receive(:run_default_server)
|
23
|
+
|
24
|
+
described_class.boot
|
25
|
+
end
|
26
|
+
|
27
|
+
it "raises an error if Rails won't boot with timeout" do
|
28
|
+
described_class.stub(app: double("app"), find_available_port: 42, boot_timeout: 0.01)
|
29
|
+
described_class.should_receive(:running?).at_least(:twice).and_return(false)
|
30
|
+
described_class.should_receive(:run_default_server)
|
31
|
+
|
32
|
+
expect {
|
33
|
+
described_class.boot
|
34
|
+
}.to raise_error(Timeout::Error)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context ".host" do
|
39
|
+
it "@host if specified" do
|
40
|
+
described_class.host = "my_host"
|
41
|
+
described_class.host.should == "my_host"
|
42
|
+
end
|
43
|
+
|
44
|
+
it "local_host if @host is not specified" do
|
45
|
+
described_class.host = nil
|
46
|
+
described_class.host.should == "127.0.0.1"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context ".ignore_exceptions?" do
|
51
|
+
it "true if @ignore_exceptions is set to true" do
|
52
|
+
described_class.ignore_exceptions = true
|
53
|
+
described_class.should be_ignore_exceptions
|
54
|
+
end
|
55
|
+
|
56
|
+
it "true if Rails.action_dispatch.show_exceptions is set to true for older Rails" do
|
57
|
+
described_class.stub(legacy_rails?: true)
|
58
|
+
described_class.ignore_exceptions = false
|
59
|
+
::Rails.stub_chain(:configuration, :action_dispatch, :show_exceptions).and_return(true)
|
60
|
+
|
61
|
+
described_class.should be_ignore_exceptions
|
62
|
+
end
|
63
|
+
|
64
|
+
it "true if Rails.action_dispatch.show_exceptions is set to true for Rails 3" do
|
65
|
+
described_class.stub(legacy_rails?: false)
|
66
|
+
described_class.ignore_exceptions = false
|
67
|
+
::Rails.stub_chain(:application, :config, :action_dispatch, :show_exceptions).and_return(true)
|
68
|
+
|
69
|
+
described_class.should be_ignore_exceptions
|
70
|
+
end
|
71
|
+
|
72
|
+
it "false if Rails.action_dispatch.show_exceptions is set to false for older Rails" do
|
73
|
+
described_class.stub(legacy_rails?: true)
|
74
|
+
described_class.ignore_exceptions = false
|
75
|
+
::Rails.stub_chain(:application, :config, :action_dispatch, :show_exceptions).and_return(false)
|
76
|
+
|
77
|
+
described_class.should_not be_ignore_exceptions
|
78
|
+
end
|
79
|
+
|
80
|
+
it "true if Rails.action_dispatch.show_exceptions is set to false for Rails 3" do
|
81
|
+
described_class.stub(legacy_rails?: false)
|
82
|
+
described_class.ignore_exceptions = false
|
83
|
+
::Rails.stub_chain(:application, :config, :action_dispatch, :show_exceptions).and_return(false)
|
84
|
+
|
85
|
+
described_class.should_not be_ignore_exceptions
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context ".running?" do
|
90
|
+
it "false if server thread is running" do
|
91
|
+
fake_thread = double("thread", join: :still_running)
|
92
|
+
described_class.instance_variable_set(:@server_thread, fake_thread)
|
93
|
+
|
94
|
+
described_class.should_not be_running
|
95
|
+
end
|
96
|
+
|
97
|
+
it "false if server cannot be accessed" do
|
98
|
+
fake_thread = double("thread", join: nil)
|
99
|
+
described_class.instance_variable_set(:@server_thread, fake_thread)
|
100
|
+
|
101
|
+
Net::HTTP.should_receive(:start).and_raise Errno::ECONNREFUSED
|
102
|
+
described_class.should_not be_running
|
103
|
+
end
|
104
|
+
|
105
|
+
it "false if server response is not success" do
|
106
|
+
fake_thread = double("thread", join: nil)
|
107
|
+
described_class.instance_variable_set(:@server_thread, fake_thread)
|
108
|
+
app = double("app")
|
109
|
+
described_class.instance_variable_set(:@app, app)
|
110
|
+
|
111
|
+
response = double(Net::HTTPSuccess, is_a?: false)
|
112
|
+
Net::HTTP.should_receive(:start).and_return response
|
113
|
+
described_class.should_not be_running
|
114
|
+
end
|
115
|
+
|
116
|
+
it "true if server response is success" do
|
117
|
+
fake_thread = double("thread", join: nil)
|
118
|
+
described_class.instance_variable_set(:@server_thread, fake_thread)
|
119
|
+
app = double("app")
|
120
|
+
described_class.instance_variable_set(:@app, app)
|
121
|
+
|
122
|
+
response = double(Net::HTTPSuccess, is_a?: true, body: app.object_id.to_s)
|
123
|
+
Net::HTTP.should_receive(:start).and_return response
|
124
|
+
described_class.should be_running
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
data/watir-rails.gemspec
CHANGED
@@ -4,8 +4,8 @@ require File.expand_path('../lib/watir/version', __FILE__)
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.authors = ["Jarmo Pertman"]
|
6
6
|
gem.email = ["jarmo.p@gmail.com"]
|
7
|
-
gem.description = %q{
|
8
|
-
gem.summary = %q{
|
7
|
+
gem.description = %q{Use Watir (http://github.com/watir/watir) in Rails.}
|
8
|
+
gem.summary = %q{Use Watir (http://github.com/watir/watir) in Rails.}
|
9
9
|
gem.homepage = "http://github.com/watir/watir-rails"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
@@ -17,8 +17,9 @@ Gem::Specification.new do |gem|
|
|
17
17
|
|
18
18
|
gem.add_dependency "rack"
|
19
19
|
gem.add_dependency "rails"
|
20
|
-
gem.add_dependency "watir
|
20
|
+
gem.add_dependency "watir", "~> 5.0"
|
21
21
|
|
22
22
|
gem.add_development_dependency "yard"
|
23
23
|
gem.add_development_dependency "redcarpet"
|
24
|
+
gem.add_development_dependency "rspec", "~>2.0"
|
24
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jarmo Pertman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: watir
|
42
|
+
name: watir
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '5.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '5.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: yard
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +80,21 @@ dependencies:
|
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
-
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.0'
|
97
|
+
description: Use Watir (http://github.com/watir/watir) in Rails.
|
84
98
|
email:
|
85
99
|
- jarmo.p@gmail.com
|
86
100
|
executables: []
|
@@ -88,7 +102,9 @@ extensions: []
|
|
88
102
|
extra_rdoc_files: []
|
89
103
|
files:
|
90
104
|
- .gitignore
|
105
|
+
- .travis.yml
|
91
106
|
- .yardopts
|
107
|
+
- CHANGES.md
|
92
108
|
- Gemfile
|
93
109
|
- LICENSE
|
94
110
|
- README.md
|
@@ -97,6 +113,12 @@ files:
|
|
97
113
|
- lib/watir/rails.rb
|
98
114
|
- lib/watir/rails/middleware.rb
|
99
115
|
- lib/watir/version.rb
|
116
|
+
- spec/spec_helper.rb
|
117
|
+
- spec/support/fake_browser_with_goto.rb
|
118
|
+
- spec/support/watir.rb
|
119
|
+
- spec/watir/browser_spec.rb
|
120
|
+
- spec/watir/rails/middleware_spec.rb
|
121
|
+
- spec/watir/rails_spec.rb
|
100
122
|
- watir-rails.gemspec
|
101
123
|
homepage: http://github.com/watir/watir-rails
|
102
124
|
licenses: []
|
@@ -117,9 +139,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
139
|
version: '0'
|
118
140
|
requirements: []
|
119
141
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.0.
|
142
|
+
rubygems_version: 2.0.7
|
121
143
|
signing_key:
|
122
144
|
specification_version: 4
|
123
|
-
summary:
|
124
|
-
test_files:
|
145
|
+
summary: Use Watir (http://github.com/watir/watir) in Rails.
|
146
|
+
test_files:
|
147
|
+
- spec/spec_helper.rb
|
148
|
+
- spec/support/fake_browser_with_goto.rb
|
149
|
+
- spec/support/watir.rb
|
150
|
+
- spec/watir/browser_spec.rb
|
151
|
+
- spec/watir/rails/middleware_spec.rb
|
152
|
+
- spec/watir/rails_spec.rb
|
125
153
|
has_rdoc:
|