diff --git a/lib/webrat/ruby_html_unit.rb b/lib/webrat/ruby_html_unit.rb
deleted file mode 100644
index 511c4e5..0000000
--- a/lib/webrat/ruby_html_unit.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
-
-module RubyHtmlUnit
- Jars = Dir[File.dirname(__FILE__) + '/ruby_html_unit/htmlunit/*.jar']
-end
-
-if RUBY_PLATFORM =~ /java/
- require 'java'
- RubyHtmlUnit::Jars.each { |jar| require(jar) }
-
- module HtmlUnit
- include_package 'com.gargoylesoftware.htmlunit'
- end
- JavaString = java.lang.String
-else
- raise "RubyHtmlUnit only works on JRuby at the moment."
-end
-
-
-Dir[File.join(File.dirname(__FILE__), "ruby_html_unit", "*.rb")].each do |file|
- require File.expand_path(file)
-end
-
-
-# Deal with the test server
-if `uname`.chomp == "Darwin"
- TEST_SERVER_PORT = '3001'
-
- if `ps ax`.match(/^\s*(\d*).*-e test -p #{TEST_SERVER_PORT}/)
- puts "A test server was found running on port #{TEST_SERVER_PORT} (PID #{$1})"
- else
- puts "A test server was not found running (looking for -e test -p #{TEST_SERVER_PORT})"
- puts "Please start a new test server using the command below:"
- puts
-
- command_string = "ruby #{RAILS_ROOT}/script/server -e test -p #{TEST_SERVER_PORT}"
-
- puts command_string
- exit
- end
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/alert_handler.rb b/lib/webrat/ruby_html_unit/alert_handler.rb
deleted file mode 100644
index 016e1c1..0000000
--- a/lib/webrat/ruby_html_unit/alert_handler.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-module RubyHtmlUnit
-
- class AlertHandler
- def handleAlert(html_unit_page, alert_message)
- alert_messages << alert_message
- end
-
- def alert_messages
- @alert_messages ||= []
- end
- end
-
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/element.rb b/lib/webrat/ruby_html_unit/element.rb
deleted file mode 100644
index 29988b5..0000000
--- a/lib/webrat/ruby_html_unit/element.rb
+++ /dev/null
@@ -1,119 +0,0 @@
-module RubyHtmlUnit
-
- class Element
- def initialize(element, page)
- @html_unit_element = element
- @page = page
- end
-
- def elem_type
- @html_unit_element.node_name
- end
-
- def id_attribute
- @html_unit_element.id_attribute
- end
-
- def matches_text?(text)
- @html_unit_element.as_text =~ text_as_regexp(text)
- end
-
- def matches_attribute?(attribute, text)
- @html_unit_element.get_attribute(attribute) =~ text_as_regexp(text)
- end
-
- def ancestors
- current_element = self
- [].tap do |ancs|
- while current_element.parent && current_element.elem_type != 'html'
- ancs << current_element
- current_element = current_element.parent
- end
- end
- end
-
- def label_matches?(label_text)
- ancestors.each do |anc|
- return true if anc.elem_type == 'label' && anc.matches_text?(label_text)
- end
-
- if id_attribute.blank?
- return nil
- else
- label_tag = @page.elements_by_xpath("//label[@for='#{id_attribute}']").first
- return label_tag if label_tag && label_tag.matches_text?(label_text)
- end
- end
-
- def click
- @html_unit_element.click
- end
-
- def fill_in_with(value)
- clear
- type_string(value)
- end
-
- def clear
- case @html_unit_element.getTagName
- when 'textarea' then @html_unit_element.setText('')
- when 'input' then @html_unit_element.setValueAttribute('')
- end
- end
-
- def select(option_text)
- @html_unit_element.getOptions.select { |e| e.asText =~ text_as_regexp(option_text) }.each do |option|
- option.click
- #@container.update_page(option.click)
- end
- end
-
- def set(value = true)
- @html_unit_element.setChecked(value)
- #value ? @html_unit_element.click : @html_unit_element.setChecked(value)
- end
-
- def includes_option?(option_text)
- !!@html_unit_element.getByXPath("//option").detect {|opt| opt.as_text =~ text_as_regexp(option_text) }
- end
-
- def to_s
- @html_unit_element.as_text
- end
-
- def hidden?
- !!ancestors.detect { |elem| elem.style =~ /display\s*:[\s'"]*none/ }
- end
-
- def visible?
- !hidden?
- end
-
- def parent
- @html_unit_element.respond_to?(:parent_node) ? Element.new(@html_unit_element.parent_node, @page) : nil
- end
-
- def class_name
- @html_unit_element.class_attribute
- end
-
- def method_missing(name, *args)
- return @html_unit_element.send("#{name}_attribute") if @html_unit_element.respond_to?("#{name}_attribute")
- super
- end
-
- protected
- def type_string(value)
- last_page = nil
- JavaString.new(value.to_java_bytes, @html_unit_element.getPage.getPageEncoding).toCharArray.each do |char|
- last_page = @html_unit_element.type(char)
- end
- last_page
- end
-
- def text_as_regexp(text)
- Regexp.new(Regexp.escape(text), true)
- end
- end
-
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-codec-1.3.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-codec-1.3.jar
deleted file mode 100644
index 957b675..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-codec-1.3.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-collections-3.2.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-collections-3.2.jar
deleted file mode 100644
index 75580be..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-collections-3.2.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-httpclient-3.1.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-httpclient-3.1.jar
deleted file mode 100644
index 7c59774..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-httpclient-3.1.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-io-1.4.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-io-1.4.jar
deleted file mode 100644
index 133dc6c..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-io-1.4.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-lang-2.4.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-lang-2.4.jar
deleted file mode 100644
index 532939e..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-lang-2.4.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/commons-logging-1.1.1.jar b/lib/webrat/ruby_html_unit/htmlunit/commons-logging-1.1.1.jar
deleted file mode 100644
index 1deef14..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/commons-logging-1.1.1.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/cssparser-0.9.5.jar b/lib/webrat/ruby_html_unit/htmlunit/cssparser-0.9.5.jar
deleted file mode 100644
index 9fc2767..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/cssparser-0.9.5.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/htmlunit-2.2.jar b/lib/webrat/ruby_html_unit/htmlunit/htmlunit-2.2.jar
deleted file mode 100644
index 8cc878a..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/htmlunit-2.2.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/htmlunit-core-js-2.2.jar b/lib/webrat/ruby_html_unit/htmlunit/htmlunit-core-js-2.2.jar
deleted file mode 100644
index be23a89..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/htmlunit-core-js-2.2.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/nekohtml-1.9.8.jar b/lib/webrat/ruby_html_unit/htmlunit/nekohtml-1.9.8.jar
deleted file mode 100644
index 1848c0a..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/nekohtml-1.9.8.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/sac-1.3.jar b/lib/webrat/ruby_html_unit/htmlunit/sac-1.3.jar
deleted file mode 100644
index 39b92b1..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/sac-1.3.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/xalan-2.7.0.jar b/lib/webrat/ruby_html_unit/htmlunit/xalan-2.7.0.jar
deleted file mode 100644
index 007be39..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/xalan-2.7.0.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/xercesImpl-2.8.1.jar b/lib/webrat/ruby_html_unit/htmlunit/xercesImpl-2.8.1.jar
deleted file mode 100644
index 3b351f6..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/xercesImpl-2.8.1.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/htmlunit/xml-apis-1.0.b2.jar b/lib/webrat/ruby_html_unit/htmlunit/xml-apis-1.0.b2.jar
deleted file mode 100644
index ad33a5a..0000000
Binary files a/lib/webrat/ruby_html_unit/htmlunit/xml-apis-1.0.b2.jar and /dev/null differ
diff --git a/lib/webrat/ruby_html_unit/page.rb b/lib/webrat/ruby_html_unit/page.rb
deleted file mode 100644
index 34b2e10..0000000
--- a/lib/webrat/ruby_html_unit/page.rb
+++ /dev/null
@@ -1,114 +0,0 @@
-module RubyHtmlUnit
-
- class Page
- SAVED_PAGE_DIR = File.expand_path('.')
-
- def initialize(html_unit_page)
- @html_unit_page = html_unit_page
- end
-
- def body
- @html_unit_page.getWebResponse.getContentAsString || ''
- end
- alias_method :html_document, :body
-
- def find_link(text)
- matching_links = elements_by_tag_name('a').select{|e| e.matches_text?(text)}
-
- if matching_links.any?
- matching_links.sort_by { |l| l.to_s.length }.first
- else
- flunk("Could not find link with text #{text.inspect}")
- end
- end
-
- def find_button(text = nil)
- buttons = []
- field_type_xpaths = %w( //button //input[@type='submit'] //input[@type='reset'] //input[@type='image'] //input[@type='button'] )
- field_type_xpaths.each do |xpath_expr|
- buttons += elements_by_xpath(xpath_expr)
- end
-
- return buttons.first if text.nil?
-
- matching_buttons = buttons.select{|b| b.matches_attribute?('value', text) }
-
- if matching_buttons.any?
- matching_buttons.sort_by { |b| b.to_s.length }.first
- else
- flunk("Could not find button with text #{text.inspect}")
- end
- end
-
- def find_field(id_or_name_or_label, field_type)
- field_type_xpaths = case field_type
- when :text then %w( //input[@type='text'] //input[@type='hidden'] //textarea )
- when :select then %w( //select )
- when :radio then %w( //input[@type='radio'] )
- when :checkbox then %w( //input[@type='checkbox'] )
- end
-
- field_type_xpaths.each do |xpath_expr|
- elements_by_xpath(xpath_expr).each do |possible_field|
- return possible_field if possible_field.id_attribute == id_or_name_or_label ||
- possible_field.name == id_or_name_or_label ||
- possible_field.label_matches?(id_or_name_or_label)
- end
- end
-
- flunk("Could not find #{field_type_xpaths.inspect}: #{id_or_name_or_label.inspect}")
- end
-
- def find_select_list_with_option(option_text, id_or_name_or_label = nil)
- if id_or_name_or_label
- select_tag = find_field(id_or_name_or_label, :select)
- return select_tag if select_tag && select_tag.includes_option?(option_text)
- else
- elements_by_xpath("//select").each do |sel|
- if sel.includes_option?(option_text)
- return sel
- end
- end
- end
- nil
- end
-
- def elements_by_tag_name(tag_name)
- node_list = @html_unit_page.getElementsByTagName(tag_name)
- list_len = node_list.length
-
- [].tap do |array|
- 0.upto(list_len-1) { |i| array << Element.new(node_list.item(i), self)}
- end
- end
-
- def elements_by_xpath(xpath_expression)
- @html_unit_page.getByXPath(xpath_expression).to_a.map{ |e| Element.new(e, self) }
- end
-
- def save_and_open
- return unless File.exist?(SAVED_PAGE_DIR)
-
- filename = "#{SAVED_PAGE_DIR}/webrat-#{Time.now.to_i}.html"
-
- File.open(filename, "w") do |f|
- f.write rewrite_css_and_image_references(body)
- end
-
- open_in_browser(filename)
- end
-
- def rewrite_css_and_image_references(response_html) # :nodoc
- response_html.gsub(%r<"/(stylesheets|images)>, Session.rewrite_url('"/\1'))
- end
-
- def open_in_browser(path) # :nodoc
- `open #{path}`
- end
-
- def flunk(message)
- raise message
- end
- end
-
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/response.rb b/lib/webrat/ruby_html_unit/response.rb
deleted file mode 100644
index 201db0e..0000000
--- a/lib/webrat/ruby_html_unit/response.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-module RubyHtmlUnit
-
- class Response
- def initialize(html_unit_response)
- @html_unit_response = html_unit_response
- end
-
- def success?
- @html_unit_response.status_code / 100 == 2
- end
-
- def content_type
- @html_unit_response.content_type
- end
-
- def body
- @html_unit_response.getContentAsString || ''
- end
- alias_method :text, :body
-
-
- end
-
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/rspec_story.rb b/lib/webrat/ruby_html_unit/rspec_story.rb
deleted file mode 100644
index 2c9847a..0000000
--- a/lib/webrat/ruby_html_unit/rspec_story.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-class Spec::Story::Runner::ScenarioRunner
- def initialize
- @listeners = []
- end
-end
-
-module RubyHtmlUnit
-
- class RspecStory
- include ::Spec::Matchers
- include ::Spec::Rails::Matchers
-
- def current_session
- @current_session ||= Session.new
- end
-
- def method_missing(name, *args)
- if current_session.respond_to?(name)
- current_session.send(name, *args)
- else
- super
- end
- end
- end
-
-end
\ No newline at end of file
diff --git a/lib/webrat/ruby_html_unit/session.rb b/lib/webrat/ruby_html_unit/session.rb
deleted file mode 100644
index 221de84..0000000
--- a/lib/webrat/ruby_html_unit/session.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-module RubyHtmlUnit
-
- class Session
- attr_accessor :response, :current_page, :alert_handler
-
- include ActionController::UrlWriter
- include ActionController::Assertions
- include Test::Unit::Assertions
-
-
- class << self
- def rewrite_url(url)
- if url =~ %r{^(/.*)} || url =~ %r{^https?://www.example.com(/.*)}
- append_to_root_url($1)
- else
- url
- end
- end
-
- def append_to_root_url(path)
- path = "/#{path}" unless path =~ /^\//
- "http://localhost:#{TEST_SERVER_PORT}#{path}"
- end
- end
-
- def initialize()
- #java.lang.System.getProperties.put("org.apache.commons.logging.simplelog.defaultlog", opts[:log_level] ? opts[:log_level].to_s : "warn")
- java.lang.System.getProperties.put("org.apache.commons.logging.simplelog.defaultlog", "warn")
-
- browser = ::HtmlUnit::BrowserVersion::FIREFOX_2
- @webclient = ::HtmlUnit::WebClient.new(browser)
- @webclient.setThrowExceptionOnScriptError(false) #unless opts[:javascript_exceptions]
- @webclient.setThrowExceptionOnFailingStatusCode(false) #unless opts[:status_code_exceptions]
- @webclient.setCssEnabled(false) #unless opts[:css]
- @webclient.setUseInsecureSSL(true) #if opts[:secure_ssl]
-
- @alert_handler = AlertHandler.new
-
- @webclient.setAlertHandler(@alert_handler)
-
- @response = nil
- @current_page = nil
- end
-
- def visits(url)
- update_page(@webclient.getPage(Session.rewrite_url(url)))
- end
-
- def clicks_link(text)
- link = @current_page.find_link(text)
- update_page(link.click)
- end
-
- def clicks_button(text = nil)
- button = @current_page.find_button(text)
- update_page(button.click)
- end
-
- def fills_in(id_or_name_or_label, options = {})
- field = @current_page.find_field(id_or_name_or_label, :text)
- update_page(field.fill_in_with(options[:with]))
- end
-
- def selects(option_text, options = {})
- id_or_name_or_label = options[:from]
-
- select_tag = @current_page.find_select_list_with_option(option_text, id_or_name_or_label)
-
- flunk("Could not find option #{option_text.inspect}") if select_tag.nil?
- select_tag.select(option_text)
- end
-
- def chooses(label)
- field = @current_page.find_field(label, :radio)
- update_page(field.set)
- end
-
- def checks(id_or_name_or_label)
- field = @current_page.find_field(id_or_name_or_label, :checkbox)
- update_page(field.set(true))
- end
-
- def unchecks(id_or_name_or_label)
- field = @current_page.find_field(id_or_name_or_label, :checkbox)
- update_page(field.set(false))
- end
-
- def get_element(dom_id)
- @current_page.elements_by_xpath("//*[@id='#{dom_id}']").first
- end
- alias_method :get_element_by_id, :get_element
-
- def wait_for_result(wait_type)
- # No support for different types of waiting right now
- sleep(0.5)
- # if wait_type == :ajax
- # wait_for_ajax
- # elsif wait_type == :effects
- # wait_for_effects
- # else
- # wait_for_page_to_load
- # end
- end
-
- def update_page(html_unit_page)
- @current_page = Page.new(html_unit_page)
- @response = Response.new(html_unit_page.getWebResponse)
- end
-
- def save_and_open_page
- @current_page.save_and_open
- end
-
- def respond_to?(method)
- super || @current_page.respond_to?(method)
- end
-
- def method_missing(name, *args)
- if @current_page.respond_to?(name)
- @current_page.send(name, *args)
- else
- super
- end
- end
- end
-
-end
\ No newline at end of file