terminus 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +25 -19
- data/bin/terminus +1 -1
- data/lib/capybara/driver/terminus.rb +28 -17
- data/lib/terminus.rb +29 -15
- data/lib/terminus/application.rb +5 -11
- data/lib/terminus/browser.rb +97 -44
- data/lib/terminus/client.rb +43 -0
- data/lib/terminus/client/browser.rb +30 -0
- data/lib/terminus/client/phantom.js +6 -0
- data/lib/terminus/client/phantomjs.rb +20 -0
- data/lib/terminus/connector.rb +9 -0
- data/lib/terminus/connector/server.rb +142 -0
- data/lib/terminus/connector/socket_handler.rb +72 -0
- data/lib/terminus/controller.rb +22 -5
- data/lib/terminus/host.rb +7 -2
- data/lib/terminus/node.rb +11 -5
- data/lib/terminus/proxy.rb +35 -1
- data/lib/terminus/proxy/driver_body.rb +26 -6
- data/lib/terminus/proxy/external.rb +9 -0
- data/lib/terminus/proxy/rewrite.rb +4 -2
- data/lib/terminus/public/compiled/terminus-min.js +3 -0
- data/lib/terminus/public/compiled/terminus.js +5270 -0
- data/lib/terminus/public/loader.js +1 -1
- data/lib/terminus/public/pathology.js +3174 -0
- data/lib/terminus/public/syn/browsers.js +2 -2
- data/lib/terminus/public/syn/drag/drag.js +3 -4
- data/lib/terminus/public/syn/key.js +130 -111
- data/lib/terminus/public/syn/mouse.js +2 -2
- data/lib/terminus/public/syn/synthetic.js +45 -34
- data/lib/terminus/public/terminus.js +183 -70
- data/lib/terminus/server.rb +6 -0
- data/lib/terminus/timeouts.rb +4 -2
- data/lib/terminus/views/bootstrap.erb +12 -27
- data/lib/terminus/views/index.erb +1 -1
- data/spec/reports/android.txt +875 -0
- data/spec/reports/chrome.txt +137 -8
- data/spec/reports/firefox.txt +137 -9
- data/spec/reports/opera.txt +142 -13
- data/spec/reports/phantomjs.txt +871 -0
- data/spec/reports/safari.txt +137 -8
- data/spec/spec_helper.rb +19 -17
- data/spec/terminus_driver_spec.rb +8 -6
- data/spec/terminus_session_spec.rb +4 -4
- metadata +209 -117
data/spec/reports/safari.txt
CHANGED
@@ -26,10 +26,6 @@ Capybara::Driver::Terminus
|
|
26
26
|
should extract node checked state
|
27
27
|
should extract node selected state
|
28
28
|
should return document text on /html selector
|
29
|
-
it should behave like driver with header support
|
30
|
-
should make headers available through response_headers
|
31
|
-
it should behave like driver with status code support
|
32
|
-
should make the status code available through status_code
|
33
29
|
it should behave like driver with javascript support
|
34
30
|
#find
|
35
31
|
should find dynamically changed nodes
|
@@ -45,6 +41,10 @@ Capybara::Driver::Terminus
|
|
45
41
|
should not wait for ajax requests to finish
|
46
42
|
with short synchronization timeout
|
47
43
|
should raise an error
|
44
|
+
it should behave like driver with header support
|
45
|
+
should make headers available through response_headers
|
46
|
+
it should behave like driver with status code support
|
47
|
+
should make the status code available through status_code
|
48
48
|
it should behave like driver with frame support
|
49
49
|
#within_frame
|
50
50
|
should find the div in frameOne
|
@@ -238,6 +238,7 @@ Capybara::Session
|
|
238
238
|
should raise an error
|
239
239
|
it should behave like click_link
|
240
240
|
#click_link
|
241
|
+
should follow relative links
|
241
242
|
should follow redirects
|
242
243
|
should follow redirects
|
243
244
|
should add query string to current URL with naked query string
|
@@ -311,6 +312,7 @@ Capybara::Session
|
|
311
312
|
the returned node
|
312
313
|
should act like a session object
|
313
314
|
should scope CSS selectors
|
315
|
+
should have a reference to its parent if there is one
|
314
316
|
with css selectors
|
315
317
|
should find the first element using the given locator
|
316
318
|
with id selectors
|
@@ -659,11 +661,14 @@ Capybara::Session
|
|
659
661
|
#within
|
660
662
|
with CSS selector
|
661
663
|
should click links in the given scope
|
664
|
+
should assert content in the given scope
|
662
665
|
should accept additional options
|
663
666
|
with XPath selector
|
664
667
|
should click links in the given scope
|
665
668
|
with the default selector
|
666
669
|
should use XPath
|
670
|
+
with Node rather than selector
|
671
|
+
should click links in the given scope
|
667
672
|
with the default selector set to CSS
|
668
673
|
should use CSS
|
669
674
|
with click_link
|
@@ -695,16 +700,23 @@ Capybara::Session
|
|
695
700
|
is affected by following an absolute link
|
696
701
|
is unaffected by posting through a relative form
|
697
702
|
is affected by posting through an absolute form
|
703
|
+
is affected by following a redirect
|
698
704
|
it should behave like session with headers support
|
699
705
|
#response_headers
|
700
706
|
should return response headers
|
701
|
-
it should behave like session with status code support
|
702
|
-
#status_code
|
703
|
-
should return response codes
|
704
707
|
it should behave like session with javascript support
|
705
708
|
all JS specs
|
706
709
|
Node#drag_to
|
707
710
|
should drag and drop an object
|
711
|
+
Node#reload
|
712
|
+
without automatic reload
|
713
|
+
should reload the current context of the node
|
714
|
+
should reload a parent node
|
715
|
+
should not automatically reload
|
716
|
+
with automatic reload
|
717
|
+
should reload the current context of the node automatically
|
718
|
+
should reload a parent node automatically
|
719
|
+
should reload a node automatically when using find
|
708
720
|
#find
|
709
721
|
should allow triggering of custom JS events
|
710
722
|
#body
|
@@ -717,6 +729,8 @@ Capybara::Session
|
|
717
729
|
should execute the given script and return nothing
|
718
730
|
#find
|
719
731
|
should wait for asynchronous load
|
732
|
+
with frozen time
|
733
|
+
raises an error suggesting that Capybara is stuck in time
|
720
734
|
#wait_until
|
721
735
|
should wait for block to return true
|
722
736
|
should raise Capybara::TimeoutError if block doesn't return true within timeout
|
@@ -744,5 +758,120 @@ Capybara::Session
|
|
744
758
|
should wait for content to appear
|
745
759
|
#has_no_content?
|
746
760
|
should wait for content to disappear
|
761
|
+
it should behave like session with status code support
|
762
|
+
#status_code
|
763
|
+
should return response codes
|
764
|
+
|
765
|
+
Failures:
|
766
|
+
|
767
|
+
1) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with normal form should set a file path by id
|
768
|
+
Failure/Error: @session.attach_file "form_image", __FILE__
|
769
|
+
Capybara::NotSupportedByDriverError:
|
770
|
+
Capybara::NotSupportedByDriverError
|
771
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
772
|
+
# ./lib/terminus/node.rb:52:in `set'
|
773
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
774
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
775
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
776
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
777
|
+
# (eval):2:in `attach_file'
|
778
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:12:in `block (4 levels) in <top (required)>'
|
779
|
+
|
780
|
+
2) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with normal form should set a file path by label
|
781
|
+
Failure/Error: @session.attach_file "Image", __FILE__
|
782
|
+
Capybara::NotSupportedByDriverError:
|
783
|
+
Capybara::NotSupportedByDriverError
|
784
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
785
|
+
# ./lib/terminus/node.rb:52:in `set'
|
786
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
787
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
788
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
789
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
790
|
+
# (eval):2:in `attach_file'
|
791
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:18:in `block (4 levels) in <top (required)>'
|
792
|
+
|
793
|
+
3) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should set a file path by id
|
794
|
+
Failure/Error: @session.attach_file "form_document", @test_file_path
|
795
|
+
Capybara::NotSupportedByDriverError:
|
796
|
+
Capybara::NotSupportedByDriverError
|
797
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
798
|
+
# ./lib/terminus/node.rb:52:in `set'
|
799
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
800
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
801
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
802
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
803
|
+
# (eval):2:in `attach_file'
|
804
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:26:in `block (4 levels) in <top (required)>'
|
805
|
+
|
806
|
+
4) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should set a file path by label
|
807
|
+
Failure/Error: @session.attach_file "Document", @test_file_path
|
808
|
+
Capybara::NotSupportedByDriverError:
|
809
|
+
Capybara::NotSupportedByDriverError
|
810
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
811
|
+
# ./lib/terminus/node.rb:52:in `set'
|
812
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
813
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
814
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
815
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
816
|
+
# (eval):2:in `attach_file'
|
817
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:32:in `block (4 levels) in <top (required)>'
|
818
|
+
|
819
|
+
5) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should send content type text/plain when uploading a text file
|
820
|
+
Failure/Error: @session.attach_file "Document", @test_file_path
|
821
|
+
Capybara::NotSupportedByDriverError:
|
822
|
+
Capybara::NotSupportedByDriverError
|
823
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
824
|
+
# ./lib/terminus/node.rb:52:in `set'
|
825
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
826
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
827
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
828
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
829
|
+
# (eval):2:in `attach_file'
|
830
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:43:in `block (4 levels) in <top (required)>'
|
831
|
+
|
832
|
+
6) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should send content type image/jpeg when uploading an image
|
833
|
+
Failure/Error: @session.attach_file "Document", @test_jpg_file_path
|
834
|
+
Capybara::NotSupportedByDriverError:
|
835
|
+
Capybara::NotSupportedByDriverError
|
836
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
837
|
+
# ./lib/terminus/node.rb:52:in `set'
|
838
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
839
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
840
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
841
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
842
|
+
# (eval):2:in `attach_file'
|
843
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:49:in `block (4 levels) in <top (required)>'
|
844
|
+
|
845
|
+
7) Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should not break when using HTML5 multiple file input
|
846
|
+
Failure/Error: @session.attach_file "Multiple Documents", @test_file_path
|
847
|
+
Capybara::NotSupportedByDriverError:
|
848
|
+
Capybara::NotSupportedByDriverError
|
849
|
+
Shared Example Group: "attach_file" called from ./vendor/capybara/lib/capybara/spec/session.rb:88
|
850
|
+
# ./lib/terminus/node.rb:52:in `set'
|
851
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `block in set'
|
852
|
+
# ./vendor/capybara/lib/capybara/node/base.rb:46:in `wait_until'
|
853
|
+
# ./vendor/capybara/lib/capybara/node/element.rb:75:in `set'
|
854
|
+
# ./vendor/capybara/lib/capybara/node/actions.rb:158:in `attach_file'
|
855
|
+
# (eval):2:in `attach_file'
|
856
|
+
# ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:55:in `block (4 levels) in <top (required)>'
|
857
|
+
|
858
|
+
8) Capybara::Session with terminus driver it should behave like session it should behave like fill_in#fill_in should fill in a text field by label without for
|
859
|
+
Failure/Error: extract_results(@session)['street'].should == 'Avenue Q'
|
860
|
+
expected: "Avenue Q"
|
861
|
+
got: "Sesame street 66" (using ==)
|
862
|
+
Shared Example Group: "fill_in" called from ./vendor/capybara/lib/capybara/spec/session.rb:94
|
863
|
+
# ./vendor/capybara/lib/capybara/spec/session/fill_in_spec.rb:22:in `block (3 levels) in <top (required)>'
|
864
|
+
|
865
|
+
Finished in 3 minutes 26.48 seconds
|
866
|
+
510 examples, 8 failures
|
867
|
+
|
868
|
+
Failed examples:
|
747
869
|
|
748
|
-
|
870
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:11 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with normal form should set a file path by id
|
871
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:17 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with normal form should set a file path by label
|
872
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:25 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should set a file path by id
|
873
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:31 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should set a file path by label
|
874
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:42 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should send content type text/plain when uploading a text file
|
875
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:48 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should send content type image/jpeg when uploading an image
|
876
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/attach_file_spec.rb:54 # Capybara::Session with terminus driver it should behave like session it should behave like attach_file#attach_file with multipart form should not break when using HTML5 multiple file input
|
877
|
+
rspec ./vendor/capybara/lib/capybara/spec/session/fill_in_spec.rb:19 # Capybara::Session with terminus driver it should behave like session it should behave like fill_in#fill_in should fill in a text field by label without for
|
data/spec/spec_helper.rb
CHANGED
@@ -1,26 +1,28 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'bundler/setup'
|
3
3
|
|
4
|
-
root = File.
|
4
|
+
root = File.expand_path('../..', __FILE__)
|
5
5
|
|
6
|
-
require root + 'vendor/capybara/spec/spec_helper'
|
7
|
-
require root + 'lib/terminus'
|
6
|
+
require root + '/vendor/capybara/spec/spec_helper'
|
7
|
+
require root + '/lib/terminus'
|
8
|
+
|
9
|
+
Terminus.debug = ENV.has_key?('DEBUG')
|
10
|
+
Terminus.sockets = false if ENV.has_key?('NOSOCKET')
|
11
|
+
|
12
|
+
case ENV['USER_AGENT']
|
13
|
+
when 'auto' then Terminus.start_browser
|
14
|
+
when 'PhantomJS' then Terminus.start_phantomjs
|
15
|
+
end
|
8
16
|
|
9
17
|
def select_browser
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
18
|
+
Terminus.browser = case ENV['USER_AGENT']
|
19
|
+
when 'iPhone' then {:os => /iPhone/}
|
20
|
+
when 'iPad' then {:os => /like Mac OS X/}
|
21
|
+
when 'auto' then Terminus.browser
|
22
|
+
when String then {:name => ENV['USER_AGENT']}
|
23
|
+
else :docked
|
24
|
+
end
|
15
25
|
end
|
16
26
|
|
17
|
-
|
18
|
-
# slow response used to test Ajax resynchronization blocks the event loop. This
|
19
|
-
# stops Terminus receiving messages and causes false positives: the client is
|
20
|
-
# not really waiting for Ajax to complete, it's just having its messages blocked
|
21
|
-
# because EventMachine is frozen.
|
27
|
+
at_exit { Terminus.browser.return_to_dock }
|
22
28
|
|
23
|
-
Capybara.server do |app, port|
|
24
|
-
handler = Rack::Handler.get('webrick')
|
25
|
-
handler.run(app, :Port => port, :AccessLog => [], :Logger => WEBrick::Log::new(nil, 0))
|
26
|
-
end
|
@@ -1,22 +1,24 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('../spec_helper', __FILE__)
|
2
2
|
|
3
3
|
describe Capybara::Driver::Terminus do
|
4
4
|
before do
|
5
5
|
@driver = Capybara::Driver::Terminus.new(TestApp)
|
6
6
|
select_browser
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
after do
|
10
|
-
Terminus.browser.return_to_dock
|
10
|
+
Terminus.browser.return_to_dock unless ENV['USER_AGENT']
|
11
11
|
end
|
12
|
+
|
13
|
+
single_window = %w[Android iPad iPhone PhantomJS].include?(ENV['USER_AGENT'])
|
12
14
|
|
13
15
|
it_should_behave_like "driver"
|
14
|
-
it_should_behave_like "driver with header support"
|
15
|
-
it_should_behave_like "driver with status code support"
|
16
16
|
it_should_behave_like "driver with javascript support"
|
17
17
|
it_should_behave_like "driver with resynchronization support"
|
18
|
+
it_should_behave_like "driver with header support"
|
19
|
+
it_should_behave_like "driver with status code support"
|
18
20
|
it_should_behave_like "driver with frame support"
|
19
|
-
it_should_behave_like "driver with support for window switching"
|
21
|
+
it_should_behave_like "driver with support for window switching" unless single_window
|
20
22
|
it_should_behave_like "driver with cookies support"
|
21
23
|
it_should_behave_like "driver with infinite redirect detection"
|
22
24
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('../spec_helper', __FILE__)
|
2
2
|
|
3
3
|
describe Capybara::Session do
|
4
4
|
context 'with terminus driver' do
|
@@ -6,14 +6,14 @@ describe Capybara::Session do
|
|
6
6
|
@session = Capybara::Session.new(:terminus, TestApp)
|
7
7
|
select_browser
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
after do
|
11
|
-
Terminus.browser.return_to_dock
|
11
|
+
Terminus.browser.return_to_dock unless ENV['USER_AGENT']
|
12
12
|
end
|
13
13
|
|
14
14
|
it_should_behave_like "session"
|
15
15
|
it_should_behave_like "session with headers support"
|
16
|
-
it_should_behave_like "session with status code support"
|
17
16
|
it_should_behave_like "session with javascript support"
|
17
|
+
it_should_behave_like "session with status code support"
|
18
18
|
end
|
19
19
|
end
|
metadata
CHANGED
@@ -1,151 +1,238 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: terminus
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.3.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- James Coglan
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
name: rack
|
18
|
-
prerelease: false
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: capybara
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.4.0
|
25
22
|
type: :runtime
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: thin
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
25
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.4.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: childprocess
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.3.0
|
36
38
|
type: :runtime
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: eventmachine
|
40
39
|
prerelease: false
|
41
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.3.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: cookiejar
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
42
49
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.3.0
|
47
54
|
type: :runtime
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: faye
|
51
55
|
prerelease: false
|
52
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.3.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: faye
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
53
65
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 0.
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.8.2
|
58
70
|
type: :runtime
|
59
|
-
version_requirements: *id004
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: sinatra
|
62
71
|
prerelease: false
|
63
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.8.2
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: oyster
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
64
81
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.9.0
|
69
86
|
type: :runtime
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: packr
|
73
87
|
prerelease: false
|
74
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.9.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: packr
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
75
97
|
none: false
|
76
|
-
requirements:
|
77
|
-
- -
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version:
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 3.1.0
|
80
102
|
type: :runtime
|
81
|
-
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: capybara
|
84
103
|
prerelease: false
|
85
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
105
|
none: false
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version:
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 3.1.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rack
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.0.0
|
91
118
|
type: :runtime
|
92
|
-
|
93
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.0.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
94
127
|
name: rack-proxy
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.3.0
|
134
|
+
type: :runtime
|
95
135
|
prerelease: false
|
96
|
-
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.3.0
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: sinatra
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
97
145
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version:
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 1.0.0
|
102
150
|
type: :runtime
|
103
|
-
version_requirements: *id008
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: useragent
|
106
151
|
prerelease: false
|
107
|
-
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 1.0.0
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: thin
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
108
161
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version:
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.2.0
|
113
166
|
type: :runtime
|
114
|
-
version_requirements: *id009
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: oyster
|
117
167
|
prerelease: false
|
118
|
-
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
169
|
none: false
|
120
|
-
requirements:
|
121
|
-
- -
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version:
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.2.0
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: useragent
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: 0.3.0
|
124
182
|
type: :runtime
|
125
|
-
version_requirements: *id010
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: rspec
|
128
183
|
prerelease: false
|
129
|
-
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 0.3.0
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: rake
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: rspec
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
130
209
|
none: false
|
131
|
-
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version:
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
135
214
|
type: :development
|
136
|
-
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
137
222
|
description:
|
138
223
|
email: jcoglan@gmail.com
|
139
|
-
executables:
|
224
|
+
executables:
|
140
225
|
- terminus
|
141
226
|
extensions: []
|
142
|
-
|
143
|
-
extra_rdoc_files:
|
227
|
+
extra_rdoc_files:
|
144
228
|
- README.rdoc
|
145
|
-
files:
|
229
|
+
files:
|
146
230
|
- README.rdoc
|
147
231
|
- bin/terminus
|
148
232
|
- lib/terminus.rb
|
233
|
+
- lib/terminus/connector/server.rb
|
234
|
+
- lib/terminus/connector/socket_handler.rb
|
235
|
+
- lib/terminus/client.rb
|
149
236
|
- lib/terminus/node.rb
|
150
237
|
- lib/terminus/proxy.rb
|
151
238
|
- lib/terminus/timeouts.rb
|
@@ -161,13 +248,22 @@ files:
|
|
161
248
|
- lib/terminus/public/loader.js
|
162
249
|
- lib/terminus/public/terminus.js
|
163
250
|
- lib/terminus/public/icon.png
|
251
|
+
- lib/terminus/public/pathology.js
|
164
252
|
- lib/terminus/public/style.css
|
253
|
+
- lib/terminus/public/compiled/terminus.js
|
254
|
+
- lib/terminus/public/compiled/terminus-min.js
|
255
|
+
- lib/terminus/connector.rb
|
165
256
|
- lib/terminus/controller.rb
|
166
257
|
- lib/terminus/host.rb
|
258
|
+
- lib/terminus/client/browser.rb
|
259
|
+
- lib/terminus/client/phantom.js
|
260
|
+
- lib/terminus/client/phantomjs.rb
|
167
261
|
- lib/capybara/driver/terminus.rb
|
168
262
|
- spec/reports/firefox.txt
|
169
263
|
- spec/reports/chrome.txt
|
170
264
|
- spec/reports/opera.txt
|
265
|
+
- spec/reports/phantomjs.txt
|
266
|
+
- spec/reports/android.txt
|
171
267
|
- spec/reports/safari.txt
|
172
268
|
- spec/terminus_session_spec.rb
|
173
269
|
- spec/terminus_driver_spec.rb
|
@@ -177,34 +273,30 @@ files:
|
|
177
273
|
- lib/terminus/public/syn/browsers.js
|
178
274
|
- lib/terminus/public/syn/key.js
|
179
275
|
- lib/terminus/public/syn/drag/drag.js
|
180
|
-
has_rdoc: true
|
181
276
|
homepage: http://terminus.jcoglan.com
|
182
277
|
licenses: []
|
183
|
-
|
184
278
|
post_install_message:
|
185
|
-
rdoc_options:
|
279
|
+
rdoc_options:
|
186
280
|
- --main
|
187
281
|
- README.rdoc
|
188
|
-
require_paths:
|
282
|
+
require_paths:
|
189
283
|
- lib
|
190
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
284
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
191
285
|
none: false
|
192
|
-
requirements:
|
193
|
-
- -
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version:
|
196
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
286
|
+
requirements:
|
287
|
+
- - ! '>='
|
288
|
+
- !ruby/object:Gem::Version
|
289
|
+
version: '0'
|
290
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
291
|
none: false
|
198
|
-
requirements:
|
199
|
-
- -
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version:
|
292
|
+
requirements:
|
293
|
+
- - ! '>='
|
294
|
+
- !ruby/object:Gem::Version
|
295
|
+
version: '0'
|
202
296
|
requirements: []
|
203
|
-
|
204
297
|
rubyforge_project:
|
205
|
-
rubygems_version: 1.
|
298
|
+
rubygems_version: 1.8.23
|
206
299
|
signing_key:
|
207
300
|
specification_version: 3
|
208
301
|
summary: Capybara driver for cross-browser and remote scripting
|
209
302
|
test_files: []
|
210
|
-
|