garnierjm-webrat 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.document +4 -0
  2. data/.gitignore +15 -0
  3. data/History.txt +360 -0
  4. data/MIT-LICENSE.txt +19 -0
  5. data/README.rdoc +85 -0
  6. data/Rakefile +217 -0
  7. data/install.rb +1 -0
  8. data/lib/webrat.rb +31 -0
  9. data/lib/webrat/core.rb +14 -0
  10. data/lib/webrat/core/configuration.rb +102 -0
  11. data/lib/webrat/core/elements/area.rb +31 -0
  12. data/lib/webrat/core/elements/element.rb +33 -0
  13. data/lib/webrat/core/elements/field.rb +411 -0
  14. data/lib/webrat/core/elements/form.rb +103 -0
  15. data/lib/webrat/core/elements/label.rb +31 -0
  16. data/lib/webrat/core/elements/link.rb +93 -0
  17. data/lib/webrat/core/elements/select_option.rb +35 -0
  18. data/lib/webrat/core/locators.rb +20 -0
  19. data/lib/webrat/core/locators/area_locator.rb +38 -0
  20. data/lib/webrat/core/locators/button_locator.rb +54 -0
  21. data/lib/webrat/core/locators/field_by_id_locator.rb +37 -0
  22. data/lib/webrat/core/locators/field_labeled_locator.rb +56 -0
  23. data/lib/webrat/core/locators/field_locator.rb +25 -0
  24. data/lib/webrat/core/locators/field_named_locator.rb +41 -0
  25. data/lib/webrat/core/locators/form_locator.rb +19 -0
  26. data/lib/webrat/core/locators/label_locator.rb +34 -0
  27. data/lib/webrat/core/locators/link_locator.rb +74 -0
  28. data/lib/webrat/core/locators/locator.rb +20 -0
  29. data/lib/webrat/core/locators/select_option_locator.rb +59 -0
  30. data/lib/webrat/core/logging.rb +24 -0
  31. data/lib/webrat/core/matchers.rb +4 -0
  32. data/lib/webrat/core/matchers/have_content.rb +73 -0
  33. data/lib/webrat/core/matchers/have_selector.rb +74 -0
  34. data/lib/webrat/core/matchers/have_tag.rb +21 -0
  35. data/lib/webrat/core/matchers/have_xpath.rb +147 -0
  36. data/lib/webrat/core/methods.rb +63 -0
  37. data/lib/webrat/core/mime.rb +29 -0
  38. data/lib/webrat/core/save_and_open_page.rb +48 -0
  39. data/lib/webrat/core/scope.rb +350 -0
  40. data/lib/webrat/core/session.rb +290 -0
  41. data/lib/webrat/core/xml.rb +115 -0
  42. data/lib/webrat/core/xml/hpricot.rb +19 -0
  43. data/lib/webrat/core/xml/nokogiri.rb +76 -0
  44. data/lib/webrat/core/xml/rexml.rb +24 -0
  45. data/lib/webrat/core_extensions/blank.rb +58 -0
  46. data/lib/webrat/core_extensions/deprecate.rb +8 -0
  47. data/lib/webrat/core_extensions/detect_mapped.rb +12 -0
  48. data/lib/webrat/core_extensions/meta_class.rb +6 -0
  49. data/lib/webrat/core_extensions/nil_to_param.rb +5 -0
  50. data/lib/webrat/core_extensions/tcp_socket.rb +27 -0
  51. data/lib/webrat/mechanize.rb +74 -0
  52. data/lib/webrat/merb.rb +9 -0
  53. data/lib/webrat/merb_multipart_support.rb +27 -0
  54. data/lib/webrat/merb_session.rb +80 -0
  55. data/lib/webrat/rack.rb +24 -0
  56. data/lib/webrat/rack_test.rb +32 -0
  57. data/lib/webrat/rails.rb +105 -0
  58. data/lib/webrat/rspec-rails.rb +10 -0
  59. data/lib/webrat/selenium.rb +81 -0
  60. data/lib/webrat/selenium/application_server_factory.rb +40 -0
  61. data/lib/webrat/selenium/application_servers.rb +5 -0
  62. data/lib/webrat/selenium/application_servers/base.rb +46 -0
  63. data/lib/webrat/selenium/application_servers/external.rb +26 -0
  64. data/lib/webrat/selenium/application_servers/merb.rb +50 -0
  65. data/lib/webrat/selenium/application_servers/rails.rb +44 -0
  66. data/lib/webrat/selenium/application_servers/sinatra.rb +37 -0
  67. data/lib/webrat/selenium/location_strategy_javascript/button.js +19 -0
  68. data/lib/webrat/selenium/location_strategy_javascript/label.js +16 -0
  69. data/lib/webrat/selenium/location_strategy_javascript/webrat.js +5 -0
  70. data/lib/webrat/selenium/location_strategy_javascript/webratlink.js +12 -0
  71. data/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -0
  72. data/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -0
  73. data/lib/webrat/selenium/matchers.rb +4 -0
  74. data/lib/webrat/selenium/matchers/have_content.rb +66 -0
  75. data/lib/webrat/selenium/matchers/have_selector.rb +49 -0
  76. data/lib/webrat/selenium/matchers/have_tag.rb +72 -0
  77. data/lib/webrat/selenium/matchers/have_xpath.rb +45 -0
  78. data/lib/webrat/selenium/selenium_extensions.js +6 -0
  79. data/lib/webrat/selenium/selenium_rc_server.rb +86 -0
  80. data/lib/webrat/selenium/selenium_session.rb +248 -0
  81. data/lib/webrat/selenium/silence_stream.rb +18 -0
  82. data/lib/webrat/sinatra.rb +44 -0
  83. data/vendor/selenium-server.jar +0 -0
  84. metadata +136 -0
@@ -0,0 +1,18 @@
1
+ module Webrat
2
+ module Selenium
3
+ module SilenceStream
4
+ # active_support already defines silence_stream, no need to do that again if it's already present.
5
+ # http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/kernel/reporting.rb
6
+ unless Kernel.respond_to?(:silence_stream)
7
+ def silence_stream(stream)
8
+ old_stream = stream.dup
9
+ stream.reopen(RUBY_PLATFORM =~ /mswin/ ? 'NUL:' : '/dev/null')
10
+ stream.sync = true
11
+ yield
12
+ ensure
13
+ stream.reopen(old_stream)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,44 @@
1
+ require "webrat/rack"
2
+ require "sinatra/test"
3
+
4
+ module Webrat
5
+ class SinatraSession < RackSession
6
+ include Sinatra::Test
7
+
8
+ attr_reader :request, :response
9
+
10
+ def initialize(context = nil)
11
+ super(context)
12
+
13
+ app = context.respond_to?(:app) ? context.app : Sinatra::Application
14
+ @browser = Sinatra::TestHarness.new(app)
15
+ end
16
+
17
+ %w(get head post put delete).each do |verb|
18
+ class_eval <<-RUBY
19
+ def #{verb}(path, data, headers = {})
20
+ params = data.inject({}) do |data, (key,value)|
21
+ data[key] = Rack::Utils.unescape(value)
22
+ data
23
+ end
24
+ headers["HTTP_HOST"] = "www.example.com"
25
+ @browser.#{verb}(path, params, headers)
26
+ end
27
+ RUBY
28
+ end
29
+
30
+ def response_body
31
+ @browser.body
32
+ end
33
+
34
+ def response_code
35
+ @browser.status
36
+ end
37
+
38
+ private
39
+
40
+ def response
41
+ @browser.response
42
+ end
43
+ end
44
+ end
Binary file
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: garnierjm-webrat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.5
5
+ platform: ruby
6
+ authors:
7
+ - Bryan Helmkamp
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-08-03 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: version adapted by garnierjm to add feature https://webrat.lighthouseapp.com/projects/10503-webrat/tickets/15-cant-seem-to-clicks_button-an-image-button#ticket-15-13
17
+ email: bryan@brynary.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README.rdoc
24
+ files:
25
+ - .document
26
+ - .gitignore
27
+ - History.txt
28
+ - MIT-LICENSE.txt
29
+ - README.rdoc
30
+ - Rakefile
31
+ - install.rb
32
+ - lib/webrat.rb
33
+ - lib/webrat/core.rb
34
+ - lib/webrat/core/configuration.rb
35
+ - lib/webrat/core/elements/area.rb
36
+ - lib/webrat/core/elements/element.rb
37
+ - lib/webrat/core/elements/field.rb
38
+ - lib/webrat/core/elements/form.rb
39
+ - lib/webrat/core/elements/label.rb
40
+ - lib/webrat/core/elements/link.rb
41
+ - lib/webrat/core/elements/select_option.rb
42
+ - lib/webrat/core/locators.rb
43
+ - lib/webrat/core/locators/area_locator.rb
44
+ - lib/webrat/core/locators/button_locator.rb
45
+ - lib/webrat/core/locators/field_by_id_locator.rb
46
+ - lib/webrat/core/locators/field_labeled_locator.rb
47
+ - lib/webrat/core/locators/field_locator.rb
48
+ - lib/webrat/core/locators/field_named_locator.rb
49
+ - lib/webrat/core/locators/form_locator.rb
50
+ - lib/webrat/core/locators/label_locator.rb
51
+ - lib/webrat/core/locators/link_locator.rb
52
+ - lib/webrat/core/locators/locator.rb
53
+ - lib/webrat/core/locators/select_option_locator.rb
54
+ - lib/webrat/core/logging.rb
55
+ - lib/webrat/core/matchers.rb
56
+ - lib/webrat/core/matchers/have_content.rb
57
+ - lib/webrat/core/matchers/have_selector.rb
58
+ - lib/webrat/core/matchers/have_tag.rb
59
+ - lib/webrat/core/matchers/have_xpath.rb
60
+ - lib/webrat/core/methods.rb
61
+ - lib/webrat/core/mime.rb
62
+ - lib/webrat/core/save_and_open_page.rb
63
+ - lib/webrat/core/scope.rb
64
+ - lib/webrat/core/session.rb
65
+ - lib/webrat/core/xml.rb
66
+ - lib/webrat/core/xml/hpricot.rb
67
+ - lib/webrat/core/xml/nokogiri.rb
68
+ - lib/webrat/core/xml/rexml.rb
69
+ - lib/webrat/core_extensions/blank.rb
70
+ - lib/webrat/core_extensions/deprecate.rb
71
+ - lib/webrat/core_extensions/detect_mapped.rb
72
+ - lib/webrat/core_extensions/meta_class.rb
73
+ - lib/webrat/core_extensions/nil_to_param.rb
74
+ - lib/webrat/core_extensions/tcp_socket.rb
75
+ - lib/webrat/mechanize.rb
76
+ - lib/webrat/merb.rb
77
+ - lib/webrat/merb_multipart_support.rb
78
+ - lib/webrat/merb_session.rb
79
+ - lib/webrat/rack.rb
80
+ - lib/webrat/rack_test.rb
81
+ - lib/webrat/rails.rb
82
+ - lib/webrat/rspec-rails.rb
83
+ - lib/webrat/selenium.rb
84
+ - lib/webrat/selenium/application_server_factory.rb
85
+ - lib/webrat/selenium/application_servers.rb
86
+ - lib/webrat/selenium/application_servers/base.rb
87
+ - lib/webrat/selenium/application_servers/external.rb
88
+ - lib/webrat/selenium/application_servers/merb.rb
89
+ - lib/webrat/selenium/application_servers/rails.rb
90
+ - lib/webrat/selenium/application_servers/sinatra.rb
91
+ - lib/webrat/selenium/location_strategy_javascript/button.js
92
+ - lib/webrat/selenium/location_strategy_javascript/label.js
93
+ - lib/webrat/selenium/location_strategy_javascript/webrat.js
94
+ - lib/webrat/selenium/location_strategy_javascript/webratlink.js
95
+ - lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js
96
+ - lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js
97
+ - lib/webrat/selenium/matchers.rb
98
+ - lib/webrat/selenium/matchers/have_content.rb
99
+ - lib/webrat/selenium/matchers/have_selector.rb
100
+ - lib/webrat/selenium/matchers/have_tag.rb
101
+ - lib/webrat/selenium/matchers/have_xpath.rb
102
+ - lib/webrat/selenium/selenium_extensions.js
103
+ - lib/webrat/selenium/selenium_rc_server.rb
104
+ - lib/webrat/selenium/selenium_session.rb
105
+ - lib/webrat/selenium/silence_stream.rb
106
+ - lib/webrat/sinatra.rb
107
+ - vendor/selenium-server.jar
108
+ has_rdoc: false
109
+ homepage: http://github.com/brynary/webrat
110
+ licenses:
111
+ post_install_message:
112
+ rdoc_options:
113
+ - --charset=UTF-8
114
+ require_paths:
115
+ - lib
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: "0"
121
+ version:
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: "0"
127
+ version:
128
+ requirements: []
129
+
130
+ rubyforge_project:
131
+ rubygems_version: 1.3.5
132
+ signing_key:
133
+ specification_version: 3
134
+ summary: Webrat. Ruby Acceptance Testing for Web applications
135
+ test_files: []
136
+