honkster-webrat 0.4.4.2

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 (82) hide show
  1. data/History.txt +358 -0
  2. data/MIT-LICENSE.txt +19 -0
  3. data/README.rdoc +85 -0
  4. data/Rakefile +200 -0
  5. data/install.rb +1 -0
  6. data/lib/webrat.rb +31 -0
  7. data/lib/webrat/core.rb +14 -0
  8. data/lib/webrat/core/configuration.rb +102 -0
  9. data/lib/webrat/core/elements/area.rb +31 -0
  10. data/lib/webrat/core/elements/element.rb +33 -0
  11. data/lib/webrat/core/elements/field.rb +411 -0
  12. data/lib/webrat/core/elements/form.rb +103 -0
  13. data/lib/webrat/core/elements/label.rb +31 -0
  14. data/lib/webrat/core/elements/link.rb +93 -0
  15. data/lib/webrat/core/elements/select_option.rb +35 -0
  16. data/lib/webrat/core/locators.rb +20 -0
  17. data/lib/webrat/core/locators/area_locator.rb +38 -0
  18. data/lib/webrat/core/locators/button_locator.rb +54 -0
  19. data/lib/webrat/core/locators/field_by_id_locator.rb +37 -0
  20. data/lib/webrat/core/locators/field_labeled_locator.rb +56 -0
  21. data/lib/webrat/core/locators/field_locator.rb +25 -0
  22. data/lib/webrat/core/locators/field_named_locator.rb +41 -0
  23. data/lib/webrat/core/locators/form_locator.rb +19 -0
  24. data/lib/webrat/core/locators/label_locator.rb +34 -0
  25. data/lib/webrat/core/locators/link_locator.rb +74 -0
  26. data/lib/webrat/core/locators/locator.rb +20 -0
  27. data/lib/webrat/core/locators/select_option_locator.rb +59 -0
  28. data/lib/webrat/core/logging.rb +24 -0
  29. data/lib/webrat/core/matchers.rb +4 -0
  30. data/lib/webrat/core/matchers/have_content.rb +73 -0
  31. data/lib/webrat/core/matchers/have_selector.rb +74 -0
  32. data/lib/webrat/core/matchers/have_tag.rb +21 -0
  33. data/lib/webrat/core/matchers/have_xpath.rb +147 -0
  34. data/lib/webrat/core/methods.rb +63 -0
  35. data/lib/webrat/core/mime.rb +29 -0
  36. data/lib/webrat/core/save_and_open_page.rb +48 -0
  37. data/lib/webrat/core/scope.rb +350 -0
  38. data/lib/webrat/core/session.rb +291 -0
  39. data/lib/webrat/core/xml.rb +115 -0
  40. data/lib/webrat/core/xml/hpricot.rb +19 -0
  41. data/lib/webrat/core/xml/nokogiri.rb +76 -0
  42. data/lib/webrat/core/xml/rexml.rb +24 -0
  43. data/lib/webrat/core_extensions/blank.rb +58 -0
  44. data/lib/webrat/core_extensions/deprecate.rb +8 -0
  45. data/lib/webrat/core_extensions/detect_mapped.rb +12 -0
  46. data/lib/webrat/core_extensions/meta_class.rb +6 -0
  47. data/lib/webrat/core_extensions/nil_to_param.rb +5 -0
  48. data/lib/webrat/core_extensions/tcp_socket.rb +27 -0
  49. data/lib/webrat/mechanize.rb +74 -0
  50. data/lib/webrat/merb.rb +9 -0
  51. data/lib/webrat/merb_multipart_support.rb +27 -0
  52. data/lib/webrat/merb_session.rb +80 -0
  53. data/lib/webrat/rack.rb +24 -0
  54. data/lib/webrat/rack_test.rb +32 -0
  55. data/lib/webrat/rails.rb +105 -0
  56. data/lib/webrat/rspec-rails.rb +10 -0
  57. data/lib/webrat/selenium.rb +81 -0
  58. data/lib/webrat/selenium/application_server_factory.rb +40 -0
  59. data/lib/webrat/selenium/application_servers.rb +5 -0
  60. data/lib/webrat/selenium/application_servers/base.rb +46 -0
  61. data/lib/webrat/selenium/application_servers/external.rb +26 -0
  62. data/lib/webrat/selenium/application_servers/merb.rb +50 -0
  63. data/lib/webrat/selenium/application_servers/rails.rb +44 -0
  64. data/lib/webrat/selenium/application_servers/sinatra.rb +37 -0
  65. data/lib/webrat/selenium/location_strategy_javascript/button.js +19 -0
  66. data/lib/webrat/selenium/location_strategy_javascript/label.js +24 -0
  67. data/lib/webrat/selenium/location_strategy_javascript/webrat.js +5 -0
  68. data/lib/webrat/selenium/location_strategy_javascript/webratlink.js +12 -0
  69. data/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -0
  70. data/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -0
  71. data/lib/webrat/selenium/matchers.rb +4 -0
  72. data/lib/webrat/selenium/matchers/have_content.rb +66 -0
  73. data/lib/webrat/selenium/matchers/have_selector.rb +49 -0
  74. data/lib/webrat/selenium/matchers/have_tag.rb +72 -0
  75. data/lib/webrat/selenium/matchers/have_xpath.rb +45 -0
  76. data/lib/webrat/selenium/selenium_extensions.js +6 -0
  77. data/lib/webrat/selenium/selenium_rc_server.rb +84 -0
  78. data/lib/webrat/selenium/selenium_session.rb +252 -0
  79. data/lib/webrat/selenium/silence_stream.rb +18 -0
  80. data/lib/webrat/sinatra.rb +44 -0
  81. data/vendor/selenium-server.jar +0 -0
  82. metadata +145 -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,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: honkster-webrat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.4.2
5
+ platform: ruby
6
+ authors:
7
+ - Bryan Helmkamp
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-06 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: nokogiri
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.0
24
+ version:
25
+ description: Webrat. Ruby Acceptance Testing for Web applications
26
+ email: bryan@brynary.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.rdoc
33
+ - MIT-LICENSE.txt
34
+ files:
35
+ - History.txt
36
+ - install.rb
37
+ - MIT-LICENSE.txt
38
+ - README.rdoc
39
+ - Rakefile
40
+ - lib/webrat/core/configuration.rb
41
+ - lib/webrat/core/elements/area.rb
42
+ - lib/webrat/core/elements/element.rb
43
+ - lib/webrat/core/elements/field.rb
44
+ - lib/webrat/core/elements/form.rb
45
+ - lib/webrat/core/elements/label.rb
46
+ - lib/webrat/core/elements/link.rb
47
+ - lib/webrat/core/elements/select_option.rb
48
+ - lib/webrat/core/locators/area_locator.rb
49
+ - lib/webrat/core/locators/button_locator.rb
50
+ - lib/webrat/core/locators/field_by_id_locator.rb
51
+ - lib/webrat/core/locators/field_labeled_locator.rb
52
+ - lib/webrat/core/locators/field_locator.rb
53
+ - lib/webrat/core/locators/field_named_locator.rb
54
+ - lib/webrat/core/locators/form_locator.rb
55
+ - lib/webrat/core/locators/label_locator.rb
56
+ - lib/webrat/core/locators/link_locator.rb
57
+ - lib/webrat/core/locators/locator.rb
58
+ - lib/webrat/core/locators/select_option_locator.rb
59
+ - lib/webrat/core/locators.rb
60
+ - lib/webrat/core/logging.rb
61
+ - lib/webrat/core/matchers/have_content.rb
62
+ - lib/webrat/core/matchers/have_selector.rb
63
+ - lib/webrat/core/matchers/have_tag.rb
64
+ - lib/webrat/core/matchers/have_xpath.rb
65
+ - lib/webrat/core/matchers.rb
66
+ - lib/webrat/core/methods.rb
67
+ - lib/webrat/core/mime.rb
68
+ - lib/webrat/core/save_and_open_page.rb
69
+ - lib/webrat/core/scope.rb
70
+ - lib/webrat/core/session.rb
71
+ - lib/webrat/core/xml/hpricot.rb
72
+ - lib/webrat/core/xml/nokogiri.rb
73
+ - lib/webrat/core/xml/rexml.rb
74
+ - lib/webrat/core/xml.rb
75
+ - lib/webrat/core.rb
76
+ - lib/webrat/core_extensions/blank.rb
77
+ - lib/webrat/core_extensions/deprecate.rb
78
+ - lib/webrat/core_extensions/detect_mapped.rb
79
+ - lib/webrat/core_extensions/meta_class.rb
80
+ - lib/webrat/core_extensions/nil_to_param.rb
81
+ - lib/webrat/core_extensions/tcp_socket.rb
82
+ - lib/webrat/mechanize.rb
83
+ - lib/webrat/merb.rb
84
+ - lib/webrat/merb_multipart_support.rb
85
+ - lib/webrat/merb_session.rb
86
+ - lib/webrat/rack.rb
87
+ - lib/webrat/rack_test.rb
88
+ - lib/webrat/rails.rb
89
+ - lib/webrat/rspec-rails.rb
90
+ - lib/webrat/selenium/application_server_factory.rb
91
+ - lib/webrat/selenium/application_servers/base.rb
92
+ - lib/webrat/selenium/application_servers/external.rb
93
+ - lib/webrat/selenium/application_servers/merb.rb
94
+ - lib/webrat/selenium/application_servers/rails.rb
95
+ - lib/webrat/selenium/application_servers/sinatra.rb
96
+ - lib/webrat/selenium/application_servers.rb
97
+ - lib/webrat/selenium/location_strategy_javascript/button.js
98
+ - lib/webrat/selenium/location_strategy_javascript/label.js
99
+ - lib/webrat/selenium/location_strategy_javascript/webrat.js
100
+ - lib/webrat/selenium/location_strategy_javascript/webratlink.js
101
+ - lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js
102
+ - lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js
103
+ - lib/webrat/selenium/matchers/have_content.rb
104
+ - lib/webrat/selenium/matchers/have_selector.rb
105
+ - lib/webrat/selenium/matchers/have_tag.rb
106
+ - lib/webrat/selenium/matchers/have_xpath.rb
107
+ - lib/webrat/selenium/matchers.rb
108
+ - lib/webrat/selenium/selenium_extensions.js
109
+ - lib/webrat/selenium/selenium_rc_server.rb
110
+ - lib/webrat/selenium/selenium_session.rb
111
+ - lib/webrat/selenium/silence_stream.rb
112
+ - lib/webrat/selenium.rb
113
+ - lib/webrat/sinatra.rb
114
+ - lib/webrat.rb
115
+ - vendor/selenium-server.jar
116
+ has_rdoc: true
117
+ homepage: http://github.com/brynary/webrat
118
+ licenses: []
119
+
120
+ post_install_message:
121
+ rdoc_options: []
122
+
123
+ require_paths:
124
+ - lib
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: "0"
130
+ version:
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: "0"
136
+ version:
137
+ requirements: []
138
+
139
+ rubyforge_project: webrat
140
+ rubygems_version: 1.3.5
141
+ signing_key:
142
+ specification_version: 3
143
+ summary: Webrat. Ruby Acceptance Testing for Web applications
144
+ test_files: []
145
+