garnierjm-webrat 0.4.5

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.
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
+