terminus 0.3.0 → 0.4.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.
- 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
|
-
|