<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,11 +12,7 @@ require 'spec/rake/spectask'
 require 'selenium/rake/tasks'
 
 CLEAN.include(&quot;COMMENTS&quot;)
-CLEAN.include(
-  'lib/selenium/client/generated_driver.rb',
-  '**/*.log',
-  &quot;target&quot;
-)
+CLEAN.include('lib/selenium/client/generated_driver.rb', '**/*.log', &quot;target&quot;, &quot;pkg&quot;)
 
 if ENV[&quot;SELENIUM_RC_JAR&quot;]
 	# User override
@@ -149,7 +145,7 @@ end
 specification = Gem::Specification.new do |s|
   s.name = &quot;selenium-client&quot;
   s.summary = &quot;Official Ruby Client for Selenium RC.&quot;
-  s.version = &quot;1.3&quot;
+  s.version = &quot;1.2&quot;
   s.author = &quot;OpenQA&quot;
   s.email = 'selenium-client@rubyforge.org'
   s.homepage = &quot;http://selenium-client.rubyforge.com&quot;
@@ -165,9 +161,12 @@ specification = Gem::Specification.new do |s|
 end
 
 Rake::GemPackageTask.new(specification) do |package|
-	 package.need_zip = false
-	 package.need_tar = false
+  package.need_zip = false
+  package.need_tar = false
 end
+
+desc &quot;Build the RubyGem&quot;
+task :gem
  
 desc &quot;Generate documentation&quot;
 Rake::RDocTask.new(&quot;rdoc&quot;) do |rdoc|</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -198,7 +198,7 @@ FUNCTION
 	&lt;xsl:text&gt;)&amp;nl;&amp;tab;&amp;tab;&amp;tab;&lt;/xsl:text&gt;
 	
 	&lt;xsl:if test=&quot;count(./return) = 0&quot;&gt;
-		&lt;xsl:text&gt;do_command&lt;/xsl:text&gt;
+		&lt;xsl:text&gt;remote_control_command&lt;/xsl:text&gt;
 	&lt;/xsl:if&gt;
 	&lt;xsl:apply-templates select=&quot;return&quot; mode=&quot;implementation&quot; /&gt;
 	&lt;xsl:text&gt;(&quot;&lt;/xsl:text&gt;
@@ -216,22 +216,22 @@ RETURN
 	&lt;xsl:param name=&quot;type&quot; /&gt;
 	&lt;xsl:choose&gt;
 		&lt;xsl:when test=&quot;$type='string'&quot;&gt;
-			&lt;xsl:text&gt;get_string&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;string_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:when test=&quot;$type='number'&quot;&gt;
-			&lt;xsl:text&gt;get_number&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;number_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:when test=&quot;$type='boolean'&quot;&gt;
-			&lt;xsl:text&gt;get_boolean&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;boolean_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:when test=&quot;$type='string[]'&quot;&gt;
-			&lt;xsl:text&gt;get_string_array&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;string_array_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:when test=&quot;$type='number[]'&quot;&gt;
-			&lt;xsl:text&gt;get_number_array&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;number_array_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:when test=&quot;$type='boolean[]'&quot;&gt;
-			&lt;xsl:text&gt;get_boolean_array&lt;/xsl:text&gt;
+			&lt;xsl:text&gt;boolean_array_command&lt;/xsl:text&gt;
 		&lt;/xsl:when&gt;
 		&lt;xsl:otherwise&gt;
 			&lt;xsl:message terminate=&quot;yes&quot;&gt;returntype is invalid: &lt;xsl:value-of select=&quot;$type&quot;/&gt;&lt;/xsl:message&gt;</diff>
      <filename>iedoc2ruby.xml</filename>
    </modified>
    <modified>
      <diff>@@ -150,11 +150,11 @@ module Selenium
         end
         
         def stop()
-            do_command(&quot;testComplete&quot;, [])
+            remote_control_command(&quot;testComplete&quot;, [])
             @session_id = nil
         end
 
-        def do_command(verb, args)
+        def remote_control_command(verb, args)
             timeout(@timeout) do
                 http = Net::HTTP.new(@server_host, @server_port)
                 command_string = '/selenium-server/driver/?cmd=' + CGI::escape(verb)
@@ -176,11 +176,11 @@ module Selenium
         end
         
         def get_string(verb, args)
-            result = do_command(verb, args)
+            result = remote_control_command(verb, args)
             return result[3..result.length]
         end
         
-        def get_string_array(verb, args)
+        def string_array_command(verb, args)
             csv = get_string(verb, args)
             token = &quot;&quot;
             tokens = []
@@ -204,17 +204,17 @@ module Selenium
             return tokens
         end
     
-        def get_number(verb, args)
+        def number_command(verb, args)
             # Is there something I need to do here?
             return get_string(verb, args)
         end
         
-        def get_number_array(verb, args)
+        def number_array_command(verb, args)
             # Is there something I need to do here?
-            return get_string_array(verb, args)
+            return string_array_command(verb, args)
         end
     
-        def get_boolean(verb, args)
+        def boolean_command(verb, args)
             boolstr = get_string(verb, args)
             if (&quot;true&quot; == boolstr)
                 return true
@@ -225,8 +225,8 @@ module Selenium
             raise ValueError, &quot;result is neither 'true' nor 'false': &quot; + boolstr
         end
         
-        def get_boolean_array(verb, args)
-            boolarr = get_string_array(verb, args)
+        def boolean_array_command(verb, args)
+            boolarr = string_array_command(verb, args)
             boolarr.length.times do |i|
                 if (&quot;true&quot; == boolstr)
                     boolarr[i] = true
@@ -249,7 +249,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def click(locator)
-            do_command(&quot;click&quot;, [locator,])
+            remote_control_command(&quot;click&quot;, [locator,])
         end
 
 
@@ -259,7 +259,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def double_click(locator)
-            do_command(&quot;doubleClick&quot;, [locator,])
+            remote_control_command(&quot;doubleClick&quot;, [locator,])
         end
 
 
@@ -267,7 +267,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def context_menu(locator)
-            do_command(&quot;contextMenu&quot;, [locator,])
+            remote_control_command(&quot;contextMenu&quot;, [locator,])
         end
 
 
@@ -278,7 +278,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def click_at(locator,coordString)
-            do_command(&quot;clickAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;clickAt&quot;, [locator,coordString,])
         end
 
 
@@ -289,7 +289,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def double_click_at(locator,coordString)
-            do_command(&quot;doubleClickAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;doubleClickAt&quot;, [locator,coordString,])
         end
 
 
@@ -298,7 +298,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def context_menu_at(locator,coordString)
-            do_command(&quot;contextMenuAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;contextMenuAt&quot;, [locator,coordString,])
         end
 
 
@@ -308,7 +308,7 @@ module Selenium
         # 'locator' is an element locator
         # 'eventName' is the event name, e.g. &quot;focus&quot; or &quot;blur&quot;
         def fire_event(locator,eventName)
-            do_command(&quot;fireEvent&quot;, [locator,eventName,])
+            remote_control_command(&quot;fireEvent&quot;, [locator,eventName,])
         end
 
 
@@ -316,7 +316,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def focus(locator)
-            do_command(&quot;focus&quot;, [locator,])
+            remote_control_command(&quot;focus&quot;, [locator,])
         end
 
 
@@ -325,63 +325,63 @@ module Selenium
         # 'locator' is an element locator
         # 'keySequence' is Either be a string(&quot;\&quot; followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: &quot;w&quot;, &quot;\119&quot;.
         def key_press(locator,keySequence)
-            do_command(&quot;keyPress&quot;, [locator,keySequence,])
+            remote_control_command(&quot;keyPress&quot;, [locator,keySequence,])
         end
 
 
         # Press the shift key and hold it down until doShiftUp() is called or a new page is loaded.
         #
         def shift_key_down()
-            do_command(&quot;shiftKeyDown&quot;, [])
+            remote_control_command(&quot;shiftKeyDown&quot;, [])
         end
 
 
         # Release the shift key.
         #
         def shift_key_up()
-            do_command(&quot;shiftKeyUp&quot;, [])
+            remote_control_command(&quot;shiftKeyUp&quot;, [])
         end
 
 
         # Press the meta key and hold it down until doMetaUp() is called or a new page is loaded.
         #
         def meta_key_down()
-            do_command(&quot;metaKeyDown&quot;, [])
+            remote_control_command(&quot;metaKeyDown&quot;, [])
         end
 
 
         # Release the meta key.
         #
         def meta_key_up()
-            do_command(&quot;metaKeyUp&quot;, [])
+            remote_control_command(&quot;metaKeyUp&quot;, [])
         end
 
 
         # Press the alt key and hold it down until doAltUp() is called or a new page is loaded.
         #
         def alt_key_down()
-            do_command(&quot;altKeyDown&quot;, [])
+            remote_control_command(&quot;altKeyDown&quot;, [])
         end
 
 
         # Release the alt key.
         #
         def alt_key_up()
-            do_command(&quot;altKeyUp&quot;, [])
+            remote_control_command(&quot;altKeyUp&quot;, [])
         end
 
 
         # Press the control key and hold it down until doControlUp() is called or a new page is loaded.
         #
         def control_key_down()
-            do_command(&quot;controlKeyDown&quot;, [])
+            remote_control_command(&quot;controlKeyDown&quot;, [])
         end
 
 
         # Release the control key.
         #
         def control_key_up()
-            do_command(&quot;controlKeyUp&quot;, [])
+            remote_control_command(&quot;controlKeyUp&quot;, [])
         end
 
 
@@ -390,7 +390,7 @@ module Selenium
         # 'locator' is an element locator
         # 'keySequence' is Either be a string(&quot;\&quot; followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: &quot;w&quot;, &quot;\119&quot;.
         def key_down(locator,keySequence)
-            do_command(&quot;keyDown&quot;, [locator,keySequence,])
+            remote_control_command(&quot;keyDown&quot;, [locator,keySequence,])
         end
 
 
@@ -399,7 +399,7 @@ module Selenium
         # 'locator' is an element locator
         # 'keySequence' is Either be a string(&quot;\&quot; followed by the numeric keycode  of the key to be pressed, normally the ASCII value of that key), or a single  character. For example: &quot;w&quot;, &quot;\119&quot;.
         def key_up(locator,keySequence)
-            do_command(&quot;keyUp&quot;, [locator,keySequence,])
+            remote_control_command(&quot;keyUp&quot;, [locator,keySequence,])
         end
 
 
@@ -407,7 +407,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_over(locator)
-            do_command(&quot;mouseOver&quot;, [locator,])
+            remote_control_command(&quot;mouseOver&quot;, [locator,])
         end
 
 
@@ -415,7 +415,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_out(locator)
-            do_command(&quot;mouseOut&quot;, [locator,])
+            remote_control_command(&quot;mouseOut&quot;, [locator,])
         end
 
 
@@ -424,7 +424,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_down(locator)
-            do_command(&quot;mouseDown&quot;, [locator,])
+            remote_control_command(&quot;mouseDown&quot;, [locator,])
         end
 
 
@@ -433,7 +433,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_down_right(locator)
-            do_command(&quot;mouseDownRight&quot;, [locator,])
+            remote_control_command(&quot;mouseDownRight&quot;, [locator,])
         end
 
 
@@ -443,7 +443,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def mouse_down_at(locator,coordString)
-            do_command(&quot;mouseDownAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;mouseDownAt&quot;, [locator,coordString,])
         end
 
 
@@ -453,7 +453,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def mouse_down_right_at(locator,coordString)
-            do_command(&quot;mouseDownRightAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;mouseDownRightAt&quot;, [locator,coordString,])
         end
 
 
@@ -462,7 +462,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_up(locator)
-            do_command(&quot;mouseUp&quot;, [locator,])
+            remote_control_command(&quot;mouseUp&quot;, [locator,])
         end
 
 
@@ -471,7 +471,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_up_right(locator)
-            do_command(&quot;mouseUpRight&quot;, [locator,])
+            remote_control_command(&quot;mouseUpRight&quot;, [locator,])
         end
 
 
@@ -481,7 +481,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def mouse_up_at(locator,coordString)
-            do_command(&quot;mouseUpAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;mouseUpAt&quot;, [locator,coordString,])
         end
 
 
@@ -491,7 +491,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def mouse_up_right_at(locator,coordString)
-            do_command(&quot;mouseUpRightAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;mouseUpRightAt&quot;, [locator,coordString,])
         end
 
 
@@ -500,7 +500,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def mouse_move(locator)
-            do_command(&quot;mouseMove&quot;, [locator,])
+            remote_control_command(&quot;mouseMove&quot;, [locator,])
         end
 
 
@@ -510,7 +510,7 @@ module Selenium
         # 'locator' is an element locator
         # 'coordString' is specifies the x,y position (i.e. - 10,20) of the mouse      event relative to the element returned by the locator.
         def mouse_move_at(locator,coordString)
-            do_command(&quot;mouseMoveAt&quot;, [locator,coordString,])
+            remote_control_command(&quot;mouseMoveAt&quot;, [locator,coordString,])
         end
 
 
@@ -523,7 +523,7 @@ module Selenium
         # 'locator' is an element locator
         # 'value' is the value to type
         def type(locator,value)
-            do_command(&quot;type&quot;, [locator,value,])
+            remote_control_command(&quot;type&quot;, [locator,value,])
         end
 
 
@@ -542,7 +542,7 @@ module Selenium
         # 'locator' is an element locator
         # 'value' is the value to type
         def type_keys(locator,value)
-            do_command(&quot;typeKeys&quot;, [locator,value,])
+            remote_control_command(&quot;typeKeys&quot;, [locator,value,])
         end
 
 
@@ -551,7 +551,7 @@ module Selenium
         #
         # 'value' is the number of milliseconds to pause after operation
         def set_speed(value)
-            do_command(&quot;setSpeed&quot;, [value,])
+            remote_control_command(&quot;setSpeed&quot;, [value,])
         end
 
 
@@ -569,7 +569,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def check(locator)
-            do_command(&quot;check&quot;, [locator,])
+            remote_control_command(&quot;check&quot;, [locator,])
         end
 
 
@@ -577,7 +577,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def uncheck(locator)
-            do_command(&quot;uncheck&quot;, [locator,])
+            remote_control_command(&quot;uncheck&quot;, [locator,])
         end
 
 
@@ -620,7 +620,7 @@ module Selenium
         # 'selectLocator' is an element locator identifying a drop-down menu
         # 'optionLocator' is an option locator (a label by default)
         def select(selectLocator,optionLocator)
-            do_command(&quot;select&quot;, [selectLocator,optionLocator,])
+            remote_control_command(&quot;select&quot;, [selectLocator,optionLocator,])
         end
 
 
@@ -631,7 +631,7 @@ module Selenium
         # 'locator' is an element locator identifying a multi-select box
         # 'optionLocator' is an option locator (a label by default)
         def add_selection(locator,optionLocator)
-            do_command(&quot;addSelection&quot;, [locator,optionLocator,])
+            remote_control_command(&quot;addSelection&quot;, [locator,optionLocator,])
         end
 
 
@@ -642,7 +642,7 @@ module Selenium
         # 'locator' is an element locator identifying a multi-select box
         # 'optionLocator' is an option locator (a label by default)
         def remove_selection(locator,optionLocator)
-            do_command(&quot;removeSelection&quot;, [locator,optionLocator,])
+            remote_control_command(&quot;removeSelection&quot;, [locator,optionLocator,])
         end
 
 
@@ -650,7 +650,7 @@ module Selenium
         #
         # 'locator' is an element locator identifying a multi-select box
         def remove_all_selections(locator)
-            do_command(&quot;removeAllSelections&quot;, [locator,])
+            remote_control_command(&quot;removeAllSelections&quot;, [locator,])
         end
 
 
@@ -659,7 +659,7 @@ module Selenium
         #
         # 'formLocator' is an element locator for the form you want to submit
         def submit(formLocator)
-            do_command(&quot;submit&quot;, [formLocator,])
+            remote_control_command(&quot;submit&quot;, [formLocator,])
         end
 
 
@@ -676,7 +676,7 @@ module Selenium
         #
         # 'url' is the URL to open; may be relative or absolute
         def open(url)
-            do_command(&quot;open&quot;, [url,])
+            remote_control_command(&quot;open&quot;, [url,])
         end
 
 
@@ -692,7 +692,7 @@ module Selenium
         # 'url' is the URL to open, which can be blank
         # 'windowID' is the JavaScript window ID of the window to select
         def open_window(url,windowID)
-            do_command(&quot;openWindow&quot;, [url,windowID,])
+            remote_control_command(&quot;openWindow&quot;, [url,windowID,])
         end
 
 
@@ -740,7 +740,7 @@ module Selenium
         #
         # 'windowID' is the JavaScript window ID of the window to select
         def select_window(windowID)
-            do_command(&quot;selectWindow&quot;, [windowID,])
+            remote_control_command(&quot;selectWindow&quot;, [windowID,])
         end
 
 
@@ -756,7 +756,7 @@ module Selenium
         #
         # 'locator' is an element locator identifying a frame or iframe
         def select_frame(locator)
-            do_command(&quot;selectFrame&quot;, [locator,])
+            remote_control_command(&quot;selectFrame&quot;, [locator,])
         end
 
 
@@ -772,7 +772,7 @@ module Selenium
         # 'currentFrameString' is starting frame
         # 'target' is new frame (which might be relative to the current one)
         def get_whether_this_frame_match_frame_expression(currentFrameString,target)
-            return get_boolean(&quot;getWhetherThisFrameMatchFrameExpression&quot;, [currentFrameString,target,])
+            return boolean_command(&quot;getWhetherThisFrameMatchFrameExpression&quot;, [currentFrameString,target,])
         end
 
 
@@ -788,7 +788,7 @@ module Selenium
         # 'currentWindowString' is starting window
         # 'target' is new window (which might be relative to the current one, e.g., &quot;_parent&quot;)
         def get_whether_this_window_match_window_expression(currentWindowString,target)
-            return get_boolean(&quot;getWhetherThisWindowMatchWindowExpression&quot;, [currentWindowString,target,])
+            return boolean_command(&quot;getWhetherThisWindowMatchWindowExpression&quot;, [currentWindowString,target,])
         end
 
 
@@ -797,7 +797,7 @@ module Selenium
         # 'windowID' is the JavaScript window &quot;name&quot; of the window that will appear (not the text of the title bar)
         # 'timeout' is a timeout in milliseconds, after which the action will return with an error
         def wait_for_pop_up(windowID,timeout)
-            do_command(&quot;waitForPopUp&quot;, [windowID,timeout,])
+            remote_control_command(&quot;waitForPopUp&quot;, [windowID,timeout,])
         end
 
 
@@ -810,7 +810,7 @@ module Selenium
         # confirmation.
         #
         def choose_cancel_on_next_confirmation()
-            do_command(&quot;chooseCancelOnNextConfirmation&quot;, [])
+            remote_control_command(&quot;chooseCancelOnNextConfirmation&quot;, [])
         end
 
 
@@ -824,7 +824,7 @@ module Selenium
         # confirmation.
         #
         def choose_ok_on_next_confirmation()
-            do_command(&quot;chooseOkOnNextConfirmation&quot;, [])
+            remote_control_command(&quot;chooseOkOnNextConfirmation&quot;, [])
         end
 
 
@@ -833,21 +833,21 @@ module Selenium
         #
         # 'answer' is the answer to give in response to the prompt pop-up
         def answer_on_next_prompt(answer)
-            do_command(&quot;answerOnNextPrompt&quot;, [answer,])
+            remote_control_command(&quot;answerOnNextPrompt&quot;, [answer,])
         end
 
 
         # Simulates the user clicking the &quot;back&quot; button on their browser.
         #
         def go_back()
-            do_command(&quot;goBack&quot;, [])
+            remote_control_command(&quot;goBack&quot;, [])
         end
 
 
         # Simulates the user clicking the &quot;Refresh&quot; button on their browser.
         #
         def refresh()
-            do_command(&quot;refresh&quot;, [])
+            remote_control_command(&quot;refresh&quot;, [])
         end
 
 
@@ -855,7 +855,7 @@ module Selenium
         # window or tab.
         #
         def close()
-            do_command(&quot;close&quot;, [])
+            remote_control_command(&quot;close&quot;, [])
         end
 
 
@@ -867,7 +867,7 @@ module Selenium
         # 
         #
         def is_alert_present()
-            return get_boolean(&quot;isAlertPresent&quot;, [])
+            return boolean_command(&quot;isAlertPresent&quot;, [])
         end
 
 
@@ -879,7 +879,7 @@ module Selenium
         # 
         #
         def is_prompt_present()
-            return get_boolean(&quot;isPromptPresent&quot;, [])
+            return boolean_command(&quot;isPromptPresent&quot;, [])
         end
 
 
@@ -891,7 +891,7 @@ module Selenium
         # 
         #
         def is_confirmation_present()
-            return get_boolean(&quot;isConfirmationPresent&quot;, [])
+            return boolean_command(&quot;isConfirmationPresent&quot;, [])
         end
 
 
@@ -1002,7 +1002,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def highlight(locator)
-            do_command(&quot;highlight&quot;, [locator,])
+            remote_control_command(&quot;highlight&quot;, [locator,])
         end
 
 
@@ -1027,7 +1027,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to a checkbox or radio button
         def is_checked(locator)
-            return get_boolean(&quot;isChecked&quot;, [locator,])
+            return boolean_command(&quot;isChecked&quot;, [locator,])
         end
 
 
@@ -1044,7 +1044,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def get_selected_labels(selectLocator)
-            return get_string_array(&quot;getSelectedLabels&quot;, [selectLocator,])
+            return string_array_command(&quot;getSelectedLabels&quot;, [selectLocator,])
         end
 
 
@@ -1060,7 +1060,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def get_selected_values(selectLocator)
-            return get_string_array(&quot;getSelectedValues&quot;, [selectLocator,])
+            return string_array_command(&quot;getSelectedValues&quot;, [selectLocator,])
         end
 
 
@@ -1076,7 +1076,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def get_selected_indexes(selectLocator)
-            return get_string_array(&quot;getSelectedIndexes&quot;, [selectLocator,])
+            return string_array_command(&quot;getSelectedIndexes&quot;, [selectLocator,])
         end
 
 
@@ -1092,7 +1092,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def get_selected_ids(selectLocator)
-            return get_string_array(&quot;getSelectedIds&quot;, [selectLocator,])
+            return string_array_command(&quot;getSelectedIds&quot;, [selectLocator,])
         end
 
 
@@ -1108,7 +1108,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def is_something_selected(selectLocator)
-            return get_boolean(&quot;isSomethingSelected&quot;, [selectLocator,])
+            return boolean_command(&quot;isSomethingSelected&quot;, [selectLocator,])
         end
 
 
@@ -1116,7 +1116,7 @@ module Selenium
         #
         # 'selectLocator' is an element locator identifying a drop-down menu
         def get_select_options(selectLocator)
-            return get_string_array(&quot;getSelectOptions&quot;, [selectLocator,])
+            return string_array_command(&quot;getSelectOptions&quot;, [selectLocator,])
         end
 
 
@@ -1134,7 +1134,7 @@ module Selenium
         #
         # 'pattern' is a pattern to match with the text of the page
         def is_text_present(pattern)
-            return get_boolean(&quot;isTextPresent&quot;, [pattern,])
+            return boolean_command(&quot;isTextPresent&quot;, [pattern,])
         end
 
 
@@ -1142,7 +1142,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def is_element_present(locator)
-            return get_boolean(&quot;isElementPresent&quot;, [locator,])
+            return boolean_command(&quot;isElementPresent&quot;, [locator,])
         end
 
 
@@ -1154,7 +1154,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def is_visible(locator)
-            return get_boolean(&quot;isVisible&quot;, [locator,])
+            return boolean_command(&quot;isVisible&quot;, [locator,])
         end
 
 
@@ -1163,7 +1163,7 @@ module Selenium
         #
         # 'locator' is an element locator
         def is_editable(locator)
-            return get_boolean(&quot;isEditable&quot;, [locator,])
+            return boolean_command(&quot;isEditable&quot;, [locator,])
         end
 
 
@@ -1173,7 +1173,7 @@ module Selenium
         # 
         #
         def get_all_buttons()
-            return get_string_array(&quot;getAllButtons&quot;, [])
+            return string_array_command(&quot;getAllButtons&quot;, [])
         end
 
 
@@ -1183,7 +1183,7 @@ module Selenium
         # 
         #
         def get_all_links()
-            return get_string_array(&quot;getAllLinks&quot;, [])
+            return string_array_command(&quot;getAllLinks&quot;, [])
         end
 
 
@@ -1193,7 +1193,7 @@ module Selenium
         # 
         #
         def get_all_fields()
-            return get_string_array(&quot;getAllFields&quot;, [])
+            return string_array_command(&quot;getAllFields&quot;, [])
         end
 
 
@@ -1201,7 +1201,7 @@ module Selenium
         #
         # 'attributeName' is name of an attribute on the windows
         def get_attribute_from_all_windows(attributeName)
-            return get_string_array(&quot;getAttributeFromAllWindows&quot;, [attributeName,])
+            return string_array_command(&quot;getAttributeFromAllWindows&quot;, [attributeName,])
         end
 
 
@@ -1210,7 +1210,7 @@ module Selenium
         # 'locator' is an element locator
         # 'movementsString' is offset in pixels from the current location to which the element should be moved, e.g., &quot;+70,-300&quot;
         def dragdrop(locator,movementsString)
-            do_command(&quot;dragdrop&quot;, [locator,movementsString,])
+            remote_control_command(&quot;dragdrop&quot;, [locator,movementsString,])
         end
 
 
@@ -1224,14 +1224,14 @@ module Selenium
         #
         # 'pixels' is the number of pixels between &quot;mousemove&quot; events
         def set_mouse_speed(pixels)
-            do_command(&quot;setMouseSpeed&quot;, [pixels,])
+            remote_control_command(&quot;setMouseSpeed&quot;, [pixels,])
         end
 
 
         # Returns the number of pixels between &quot;mousemove&quot; events during dragAndDrop commands (default=10).
         #
         def get_mouse_speed()
-            return get_number(&quot;getMouseSpeed&quot;, [])
+            return number_command(&quot;getMouseSpeed&quot;, [])
         end
 
 
@@ -1240,7 +1240,7 @@ module Selenium
         # 'locator' is an element locator
         # 'movementsString' is offset in pixels from the current location to which the element should be moved, e.g., &quot;+70,-300&quot;
         def drag_and_drop(locator,movementsString)
-            do_command(&quot;dragAndDrop&quot;, [locator,movementsString,])
+            remote_control_command(&quot;dragAndDrop&quot;, [locator,movementsString,])
         end
 
 
@@ -1249,42 +1249,42 @@ module Selenium
         # 'locatorOfObjectToBeDragged' is an element to be dragged
         # 'locatorOfDragDestinationObject' is an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged  is dropped
         def drag_and_drop_to_object(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)
-            do_command(&quot;dragAndDropToObject&quot;, [locatorOfObjectToBeDragged,locatorOfDragDestinationObject,])
+            remote_control_command(&quot;dragAndDropToObject&quot;, [locatorOfObjectToBeDragged,locatorOfDragDestinationObject,])
         end
 
 
         # Gives focus to the currently selected window
         #
         def window_focus()
-            do_command(&quot;windowFocus&quot;, [])
+            remote_control_command(&quot;windowFocus&quot;, [])
         end
 
 
         # Resize currently selected window to take up the entire screen
         #
         def window_maximize()
-            do_command(&quot;windowMaximize&quot;, [])
+            remote_control_command(&quot;windowMaximize&quot;, [])
         end
 
 
         # Returns the IDs of all windows that the browser knows about.
         #
         def get_all_window_ids()
-            return get_string_array(&quot;getAllWindowIds&quot;, [])
+            return string_array_command(&quot;getAllWindowIds&quot;, [])
         end
 
 
         # Returns the names of all windows that the browser knows about.
         #
         def get_all_window_names()
-            return get_string_array(&quot;getAllWindowNames&quot;, [])
+            return string_array_command(&quot;getAllWindowNames&quot;, [])
         end
 
 
         # Returns the titles of all windows that the browser knows about.
         #
         def get_all_window_titles()
-            return get_string_array(&quot;getAllWindowTitles&quot;, [])
+            return string_array_command(&quot;getAllWindowTitles&quot;, [])
         end
 
 
@@ -1302,7 +1302,7 @@ module Selenium
         # 'locator' is an element locator pointing to an input element or textarea
         # 'position' is the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field.  You can also set the cursor to -1 to move it to the end of the field.
         def set_cursor_position(locator,position)
-            do_command(&quot;setCursorPosition&quot;, [locator,position,])
+            remote_control_command(&quot;setCursorPosition&quot;, [locator,position,])
         end
 
 
@@ -1311,7 +1311,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an element
         def get_element_index(locator)
-            return get_number(&quot;getElementIndex&quot;, [locator,])
+            return number_command(&quot;getElementIndex&quot;, [locator,])
         end
 
 
@@ -1321,7 +1321,7 @@ module Selenium
         # 'locator1' is an element locator pointing to the first element
         # 'locator2' is an element locator pointing to the second element
         def is_ordered(locator1,locator2)
-            return get_boolean(&quot;isOrdered&quot;, [locator1,locator2,])
+            return boolean_command(&quot;isOrdered&quot;, [locator1,locator2,])
         end
 
 
@@ -1329,7 +1329,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an element OR an element itself
         def get_element_position_left(locator)
-            return get_number(&quot;getElementPositionLeft&quot;, [locator,])
+            return number_command(&quot;getElementPositionLeft&quot;, [locator,])
         end
 
 
@@ -1337,7 +1337,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an element OR an element itself
         def get_element_position_top(locator)
-            return get_number(&quot;getElementPositionTop&quot;, [locator,])
+            return number_command(&quot;getElementPositionTop&quot;, [locator,])
         end
 
 
@@ -1345,7 +1345,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an element
         def get_element_width(locator)
-            return get_number(&quot;getElementWidth&quot;, [locator,])
+            return number_command(&quot;getElementWidth&quot;, [locator,])
         end
 
 
@@ -1353,7 +1353,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an element
         def get_element_height(locator)
-            return get_number(&quot;getElementHeight&quot;, [locator,])
+            return number_command(&quot;getElementHeight&quot;, [locator,])
         end
 
 
@@ -1366,7 +1366,7 @@ module Selenium
         #
         # 'locator' is an element locator pointing to an input element or textarea
         def get_cursor_position(locator)
-            return get_number(&quot;getCursorPosition&quot;, [locator,])
+            return number_command(&quot;getCursorPosition&quot;, [locator,])
         end
 
 
@@ -1387,7 +1387,7 @@ module Selenium
         #
         # 'xpath' is the xpath expression to evaluate. do NOT wrap this expression in a 'count()' function; we will do that for you.
         def get_xpath_count(xpath)
-            return get_number(&quot;getXpathCount&quot;, [xpath,])
+            return number_command(&quot;getXpathCount&quot;, [xpath,])
         end
 
 
@@ -1398,7 +1398,7 @@ module Selenium
         # 'locator' is an element locator pointing to an element
         # 'identifier' is a string to be used as the ID of the specified element
         def assign_id(locator,identifier)
-            do_command(&quot;assignId&quot;, [locator,identifier,])
+            remote_control_command(&quot;assignId&quot;, [locator,identifier,])
         end
 
 
@@ -1411,7 +1411,7 @@ module Selenium
         #
         # 'allow' is boolean, true means we'll prefer to use native XPath; false means we'll only use JS XPath
         def allow_native_xpath(allow)
-            do_command(&quot;allowNativeXpath&quot;, [allow,])
+            remote_control_command(&quot;allowNativeXpath&quot;, [allow,])
         end
 
 
@@ -1427,7 +1427,7 @@ module Selenium
         #
         # 'ignore' is boolean, true means we'll ignore attributes without value                        at the expense of xpath &quot;correctness&quot;; false means                        we'll sacrifice speed for correctness.
         def ignore_attributes_without_value(ignore)
-            do_command(&quot;ignoreAttributesWithoutValue&quot;, [ignore,])
+            remote_control_command(&quot;ignoreAttributesWithoutValue&quot;, [ignore,])
         end
 
 
@@ -1444,7 +1444,7 @@ module Selenium
         # 'script' is the JavaScript snippet to run
         # 'timeout' is a timeout in milliseconds, after which this command will return with an error
         def wait_for_condition(script,timeout)
-            do_command(&quot;waitForCondition&quot;, [script,timeout,])
+            remote_control_command(&quot;waitForCondition&quot;, [script,timeout,])
         end
 
 
@@ -1456,7 +1456,7 @@ module Selenium
         #
         # 'timeout' is a timeout in milliseconds, after which the action will return with an error
         def set_timeout(timeout)
-            do_command(&quot;setTimeout&quot;, [timeout,])
+            remote_control_command(&quot;setTimeout&quot;, [timeout,])
         end
 
 
@@ -1472,7 +1472,7 @@ module Selenium
         #
         # 'timeout' is a timeout in milliseconds, after which this command will return with an error
         def wait_for_page_to_load(timeout)
-            do_command(&quot;waitForPageToLoad&quot;, [timeout,])
+            remote_control_command(&quot;waitForPageToLoad&quot;, [timeout,])
         end
 
 
@@ -1487,7 +1487,7 @@ module Selenium
         # 'frameAddress' is FrameAddress from the server side
         # 'timeout' is a timeout in milliseconds, after which this command will return with an error
         def wait_for_frame_to_load(frameAddress,timeout)
-            do_command(&quot;waitForFrameToLoad&quot;, [frameAddress,timeout,])
+            remote_control_command(&quot;waitForFrameToLoad&quot;, [frameAddress,timeout,])
         end
 
 
@@ -1510,7 +1510,7 @@ module Selenium
         #
         # 'name' is the name of the cookie
         def is_cookie_present(name)
-            return get_boolean(&quot;isCookiePresent&quot;, [name,])
+            return boolean_command(&quot;isCookiePresent&quot;, [name,])
         end
 
 
@@ -1520,7 +1520,7 @@ module Selenium
         # 'nameValuePair' is name and value of the cookie in a format &quot;name=value&quot;
         # 'optionsString' is options for the cookie. Currently supported options include 'path', 'max_age' and 'domain'.      the optionsString's format is &quot;path=/path/, max_age=60, domain=.foo.com&quot;. The order of options are irrelevant, the unit      of the value of 'max_age' is second.  Note that specifying a domain that isn't a subset of the current domain will      usually fail.
         def create_cookie(nameValuePair,optionsString)
-            do_command(&quot;createCookie&quot;, [nameValuePair,optionsString,])
+            remote_control_command(&quot;createCookie&quot;, [nameValuePair,optionsString,])
         end
 
 
@@ -1538,7 +1538,7 @@ module Selenium
         # 'name' is the name of the cookie to be deleted
         # 'optionsString' is options for the cookie. Currently supported options include 'path', 'domain'      and 'recurse.' The optionsString's format is &quot;path=/path/, domain=.foo.com, recurse=true&quot;.      The order of options are irrelevant. Note that specifying a domain that isn't a subset of      the current domain will usually fail.
         def delete_cookie(name,optionsString)
-            do_command(&quot;deleteCookie&quot;, [name,optionsString,])
+            remote_control_command(&quot;deleteCookie&quot;, [name,optionsString,])
         end
 
 
@@ -1547,7 +1547,7 @@ module Selenium
         # than simply deleting the cookies using a known domain/path.
         #
         def delete_all_visible_cookies()
-            do_command(&quot;deleteAllVisibleCookies&quot;, [])
+            remote_control_command(&quot;deleteAllVisibleCookies&quot;, [])
         end
 
 
@@ -1558,7 +1558,7 @@ module Selenium
         #
         # 'logLevel' is one of the following: &quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, &quot;error&quot; or &quot;off&quot;
         def set_browser_log_level(logLevel)
-            do_command(&quot;setBrowserLogLevel&quot;, [logLevel,])
+            remote_control_command(&quot;setBrowserLogLevel&quot;, [logLevel,])
         end
 
 
@@ -1572,7 +1572,7 @@ module Selenium
         #
         # 'script' is the JavaScript snippet to run
         def run_script(script)
-            do_command(&quot;runScript&quot;, [script,])
+            remote_control_command(&quot;runScript&quot;, [script,])
         end
 
 
@@ -1594,7 +1594,7 @@ module Selenium
         # 'strategyName' is the name of the strategy to define; this should use only   letters [a-zA-Z] with no spaces or other punctuation.
         # 'functionDefinition' is a string defining the body of a function in JavaScript.   For example: &lt;tt&gt;return inDocument.getElementById(locator);&lt;/tt&gt;
         def add_location_strategy(strategyName,functionDefinition)
-            do_command(&quot;addLocationStrategy&quot;, [strategyName,functionDefinition,])
+            remote_control_command(&quot;addLocationStrategy&quot;, [strategyName,functionDefinition,])
         end
 
 
@@ -1609,7 +1609,7 @@ module Selenium
         # 'filename' is the path to the file to persist the screenshot as. No                  filename extension will be appended by default.                  Directories will not be created if they do not exist,                    and an exception will be thrown, possibly by native                  code.
         # 'kwargs' is a kwargs string that modifies the way the screenshot                  is captured. Example: &quot;background=#CCFFDD&quot; .                  Currently valid options:                  *    background::    the background CSS for the HTML document. This                     may be useful to set for capturing screenshots of                     less-than-ideal layouts, for example where absolute                     positioning causes the calculation of the canvas                     dimension to fail and a black background is exposed                     (possibly obscuring black text).
         def capture_entire_page_screenshot(filename,kwargs)
-            do_command(&quot;captureEntirePageScreenshot&quot;, [filename,kwargs,])
+            remote_control_command(&quot;captureEntirePageScreenshot&quot;, [filename,kwargs,])
         end
 
 
@@ -1618,7 +1618,7 @@ module Selenium
         #
         # 'context' is the message to be sent to the browser
         def set_context(context)
-            do_command(&quot;setContext&quot;, [context,])
+            remote_control_command(&quot;setContext&quot;, [context,])
         end
 
 
@@ -1627,7 +1627,7 @@ module Selenium
         # 'fieldLocator' is an element locator
         # 'fileLocator' is a URL pointing to the specified file. Before the file  can be set in the input field (fieldLocator), Selenium RC may need to transfer the file    to the local machine before attaching the file in a web page form. This is common in selenium  grid configurations where the RC server driving the browser is not the same  machine that started the test.   Supported Browsers: Firefox (&quot;*chrome&quot;) only.
         def attach_file(fieldLocator,fileLocator)
-            do_command(&quot;attachFile&quot;, [fieldLocator,fileLocator,])
+            remote_control_command(&quot;attachFile&quot;, [fieldLocator,fileLocator,])
         end
 
 
@@ -1635,7 +1635,7 @@ module Selenium
         #
         # 'filename' is the absolute path to the file to be written, e.g. &quot;c:\blah\screenshot.png&quot;
         def capture_screenshot(filename)
-            do_command(&quot;captureScreenshot&quot;, [filename,])
+            remote_control_command(&quot;captureScreenshot&quot;, [filename,])
         end
 
 
@@ -1645,7 +1645,7 @@ module Selenium
         # shutting down the entire server.
         #
         def shut_down_selenium_server()
-            do_command(&quot;shutDownSeleniumServer&quot;, [])
+            remote_control_command(&quot;shutDownSeleniumServer&quot;, [])
         end
 
 
@@ -1657,7 +1657,7 @@ module Selenium
         #
         # 'keycode' is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
         def key_down_native(keycode)
-            do_command(&quot;keyDownNative&quot;, [keycode,])
+            remote_control_command(&quot;keyDownNative&quot;, [keycode,])
         end
 
 
@@ -1669,7 +1669,7 @@ module Selenium
         #
         # 'keycode' is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
         def key_up_native(keycode)
-            do_command(&quot;keyUpNative&quot;, [keycode,])
+            remote_control_command(&quot;keyUpNative&quot;, [keycode,])
         end
 
 
@@ -1681,7 +1681,7 @@ module Selenium
         #
         # 'keycode' is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
         def key_press_native(keycode)
-            do_command(&quot;keyPressNative&quot;, [keycode,])
+            remote_control_command(&quot;keyPressNative&quot;, [keycode,])
         end
 
 </diff>
      <filename>lib/selenium.rb.reference</filename>
    </modified>
    <modified>
      <diff>@@ -37,13 +37,13 @@ module Selenium
         @extension_js = extension_js
       end
       
-      def start()
-        result = get_string(&quot;getNewBrowserSession&quot;, [@browser_string, @browser_url, @extension_js])
+      def start
+        result = string_command &quot;getNewBrowserSession&quot;, [@browser_string, @browser_url, @extension_js]
         @session_id = result
       end
       
-      def stop()
-        do_command(&quot;testComplete&quot;, [])
+      def stop
+        remote_control_command &quot;testComplete&quot;
         @session_id = nil
       end
 
@@ -59,10 +59,6 @@ module Selenium
         not @session_id.nil?
       end
       
-      def default_timeout_in_seconds
-        @timeout
-      end
-      
       def chrome_backend?
         [&quot;*chrome&quot;, &quot;*firefox&quot;, &quot;*firefox2&quot;, &quot;*firefox3&quot;].include?(@browser_string)
       end</diff>
      <filename>lib/selenium/client/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,17 +18,17 @@ module Selenium
       #
       # 'locator' is an Selenium element locator
       def text_content(locator)
-        get_string &quot;getText&quot;, [locator,]
+        string_command&quot;getText&quot;, [locator,]
       end
       
       # Return the title of the current HTML page.
       def title
-        get_string &quot;getTitle&quot;
+        string_command&quot;getTitle&quot;
       end
 
       # Returns the absolute URL of the current page.
       def location
-        get_string &quot;getLocation&quot;
+        string_command&quot;getLocation&quot;
       end
 
       # Waits for a new page to load.
@@ -43,12 +43,12 @@ module Selenium
       # command will return with an error
       def wait_for_page(timeout_in_seconds=nil)
           actual_timeout = timeout_in_seconds || default_timeout_in_seconds
-        do_command &quot;waitForPageToLoad&quot;, [actual_timeout * 1000,]
+        remote_control_command &quot;waitForPageToLoad&quot;, [actual_timeout * 1000,]
       end
 
       # Gets the entire text of the page.
       def body_text
-        get_string &quot;getBodyText&quot;
+        string_command&quot;getBodyText&quot;
       end
 
       # Clicks on a link, button, checkbox or radio button. If the click action
@@ -57,7 +57,7 @@ module Selenium
       #
       # 'locator' is an element locator      
       def click(locator, options={})
-        do_command(&quot;click&quot;, [locator,])        
+        remote_control_command(&quot;click&quot;, [locator,])        
         if options[:wait_for] == :page
           wait_for_page options[:timeout_in_seconds]
         end
@@ -67,14 +67,14 @@ module Selenium
       #
       # 'pattern' is a pattern to match with the text of the page
       def text_present?(pattern)
-        get_boolean &quot;isTextPresent&quot;, [pattern,]
+        boolean_command &quot;isTextPresent&quot;, [pattern,]
       end
 
       # Verifies that the specified element is somewhere on the page.
       #
       # 'locator' is an element locator
       def element_present?(locator)
-        get_boolean &quot;isElementPresent&quot;, [locator,]
+        boolean_command &quot;isElementPresent&quot;, [locator,]
       end
 
       # Gets the (whitespace-trimmed) value of an input field 
@@ -84,12 +84,12 @@ module Selenium
       #
       # 'locator' is an element locator
       def value(locator)
-        get_string &quot;getValue&quot;, [locator,]
+        string_command&quot;getValue&quot;, [locator,]
       end
 
       # Whether an alert occurred
       def alert?
-        get_boolean &quot;isAlertPresent&quot;
+        boolean_command &quot;isAlertPresent&quot;
       end
 
       # Retrieves the message of a JavaScript alert generated during the previous action, 
@@ -105,12 +105,12 @@ module Selenium
       # generated and Selenium will hang until someone manually clicks OK.
       # 
       def alert
-        get_string &quot;getAlert&quot;
+        string_command&quot;getAlert&quot;
       end
       
       # Whether a confirmation has been auto-acknoledged (i.e. confirm() been called)
       def confirmation?
-        get_boolean &quot;isConfirmationPresent&quot;
+        boolean_command &quot;isConfirmationPresent&quot;
       end
 
       # Retrieves the message of a JavaScript confirmation dialog generated during
@@ -131,12 +131,12 @@ module Selenium
       # dialog WILL be generated and Selenium will hang until you manually click
       # OK.
       def confirmation
-        get_string &quot;getConfirmation&quot;
+        string_command&quot;getConfirmation&quot;
       end
 
       # Whether a prompt occurred
       def prompt?
-        get_boolean &quot;isPromptPresent&quot;
+        boolean_command &quot;isPromptPresent&quot;
       end
 
       # Retrieves the message of a JavaScript question prompt dialog generated during
@@ -153,7 +153,7 @@ module Selenium
       # page's onload() event handler. In this case a visible dialog WILL be
       # generated and Selenium will hang until someone manually clicks OK.
       def prompt
-        get_string &quot;getPrompt&quot;
+        string_command&quot;getPrompt&quot;
       end
 
       # Returns the result of evaluating the specified JavaScript snippet whithin the browser.
@@ -168,7 +168,7 @@ module Selenium
       # 
       # 'script' is the JavaScript snippet to run
       def js_eval(script)
-        get_string &quot;getEval&quot;, [script,]
+        string_command&quot;getEval&quot;, [script,]
       end
 
 </diff>
      <filename>lib/selenium/client/idiomatic.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ module Selenium
     module SeleneseClient
       attr_reader :session_id
   
-      def do_command(verb, args)
+      def remote_control_command(verb, args=[])
         timeout(default_timeout_in_seconds) do
           status, response = http_post(http_request_for(verb, args))
           raise SeleniumCommandError, response unless status == &quot;OK&quot;          
@@ -14,12 +14,12 @@ module Selenium
         end
       end
       
-      def get_string(verb, args=[])
-        do_command(verb, args)
+      def string_command(verb, args=[])
+        remote_control_command(verb, args)
       end
     
-      def get_string_array(verb, args)
-        csv = get_string(verb, args)
+      def string_array_command(verb, args)
+        csv = string_command(verb, args)
         token = &quot;&quot;
         tokens = []
         escape = false
@@ -43,24 +43,26 @@ module Selenium
         return tokens
       end
 
-      def get_number(verb, args)
-        # Is there something I need to do here?
-        return get_string(verb, args)
+      def number_command(verb, args)
+        string_command verb, args
       end
     
-      def get_number_array(verb, args)
-        # Is there something I need to do here?
-        return get_string_array(verb, args)
+      def number_array_command(verb, args)
+        string_array_command verb, args
       end
 
-      def get_boolean(verb, args=[])
-        parse_boolean_value get_string(verb, args)
+      def boolean_command(verb, args=[])
+        parse_boolean_value string_command(verb, args)
       end
     
-      def get_boolean_array(verb, args)
-        get_string_array(verb, args).collect {|value| parse_boolean_value(value)}
+      def boolean_array_command(verb, args)
+        string_array_command(verb, args).collect {|value| parse_boolean_value(value)}
       end
-      
+
+      def default_timeout_in_seconds
+        @timeout
+      end
+            
       protected
 
       def parse_boolean_value(value)
@@ -88,7 +90,7 @@ module Selenium
         # puts &quot;RESULT: #{response.inspect}\n&quot;       
         [ response.body[0..1], response.body[3..-1] ]
       end
-      
+     
     end
 
   end</diff>
      <filename>lib/selenium/client/selenese_client.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,15 +19,15 @@ unit_tests do
 
   test &quot;session_started? returns true when session has been started&quot; do
     client = Class.new { include Selenium::Client::Base }.new :host, :port, :browser, :url
-    client.stubs(:get_string).returns(&quot;A Session Id&quot;)
+    client.stubs(:string_command).returns(&quot;A Session Id&quot;)
     client.start    
     assert_true client.session_started?
   end
 
   test &quot;session_started? returns false when session has been stopped&quot; do
     client = Class.new { include Selenium::Client::Base }.new :host, :port, :browser, :url
-    client.stubs(:get_string).returns(&quot;A Session Id&quot;)
-    client.stubs(:do_command)
+    client.stubs(:string_command).returns(&quot;A Session Id&quot;)
+    client.stubs(:remote_control_command)
     client.start    
     client.stop
     assert_false client.session_started?</diff>
      <filename>test/unit/selenium/client/base_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,118 +4,118 @@ unit_tests do
   
   test &quot;text_content is an alias for get_text&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getText&quot;, [:the_locator,]).returns(:the_text)
+    client.expects(:string_command).with(&quot;getText&quot;, [:the_locator,]).returns(:the_text)
     assert_equal :the_text, client.text_content(:the_locator)
   end
 
   test &quot;title returns the result of the getTitle command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getTitle&quot;).returns(:the_title)
+    client.expects(:string_command).with(&quot;getTitle&quot;).returns(:the_title)
     assert_equal :the_title, client.title
   end
 
   test &quot;location returns the result of the getLocation command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getLocation&quot;).returns(:the_location)
+    client.expects(:string_command).with(&quot;getLocation&quot;).returns(:the_location)
     assert_equal :the_location, client.location
   end
   
   test &quot;wait_for_page_to_load wait for a page to load, converting seconds timeout to milliseconds&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:do_command).with(&quot;waitForPageToLoad&quot;, [2000,])
+    client.expects(:remote_control_command).with(&quot;waitForPageToLoad&quot;, [2000,])
     client.wait_for_page 2
   end
 
   test &quot;wait_for_page_to_load wait for a page to load use default timeout when none is specified&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:do_command).with(&quot;waitForPageToLoad&quot;, [7000,])
+    client.expects(:remote_control_command).with(&quot;waitForPageToLoad&quot;, [7000,])
     client.stubs(:default_timeout_in_seconds).returns(7)
     client.wait_for_page
   end
   
   test &quot;body_text returns the result of the getBodyText command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getBodyText&quot;).returns(:the_text)
+    client.expects(:string_command).with(&quot;getBodyText&quot;).returns(:the_text)
     assert_equal :the_text, client.body_text
   end
 
   test &quot;click just clicks on an element when no options are given&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:do_command).with(&quot;click&quot;, [:the_locator,])
+    client.expects(:remote_control_command).with(&quot;click&quot;, [:the_locator,])
     client.click :the_locator
   end
 
   test &quot;click waits for page to load when wait_for option is provided&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:do_command).with(&quot;click&quot;, [:the_locator,])
+    client.expects(:remote_control_command).with(&quot;click&quot;, [:the_locator,])
     client.expects(:wait_for_page).with(nil)
     client.click :the_locator, :wait_for =&gt; :page
   end
 
   test &quot;click waits for pagewith explicit timeout when one is provided&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:do_command).with(&quot;click&quot;, [:the_locator,])
+    client.expects(:remote_control_command).with(&quot;click&quot;, [:the_locator,])
     client.expects(:wait_for_page).with(:the_timeout)
     client.click :the_locator, :wait_for =&gt; :page, :timeout_in_seconds =&gt; :the_timeout
   end
 
   test &quot;value returns the result of the getValue command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getValue&quot;, [:the_locator,]).returns(:the_value)
+    client.expects(:string_command).with(&quot;getValue&quot;, [:the_locator,]).returns(:the_value)
     assert_equal :the_value, client.value(:the_locator)
   end
 
   test &quot;text_present? returns the result of the isTextPresent command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_boolean).with(&quot;isTextPresent&quot;, [:the_pattern,]).returns(:the_result)
+    client.expects(:boolean_command).with(&quot;isTextPresent&quot;, [:the_pattern,]).returns(:the_result)
     assert_equal :the_result, client.text_present?(:the_pattern)
   end
 
   test &quot;element_present? returns the result of the isElementPresent command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_boolean).with(&quot;isElementPresent&quot;, [:the_locator,]).returns(:the_result)
+    client.expects(:boolean_command).with(&quot;isElementPresent&quot;, [:the_locator,]).returns(:the_result)
     assert_equal :the_result, client.element_present?(:the_locator)
   end
 
   test &quot;alert? returns the result of the isAlertPresent command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_boolean).with(&quot;isAlertPresent&quot;).returns(:the_result)
+    client.expects(:boolean_command).with(&quot;isAlertPresent&quot;).returns(:the_result)
     assert_equal :the_result, client.alert?
   end
 
   test &quot;alert returns the result of the getAlert command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getAlert&quot;).returns(:the_result)
+    client.expects(:string_command).with(&quot;getAlert&quot;).returns(:the_result)
     assert_equal :the_result, client.alert
   end
 
   test &quot;confirmation? returns the result of the isConfirmationPresent command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_boolean).with(&quot;isConfirmationPresent&quot;).returns(:the_result)
+    client.expects(:boolean_command).with(&quot;isConfirmationPresent&quot;).returns(:the_result)
     assert_equal :the_result, client.confirmation?
   end
 
   test &quot;confirmation returns the result of the getConfirmation command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getConfirmation&quot;).returns(:the_result)
+    client.expects(:string_command).with(&quot;getConfirmation&quot;).returns(:the_result)
     assert_equal :the_result, client.confirmation
   end
 
   test &quot;prompt? returns the result of the isPromptPresent command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_boolean).with(&quot;isPromptPresent&quot;).returns(:the_result)
+    client.expects(:boolean_command).with(&quot;isPromptPresent&quot;).returns(:the_result)
     assert_equal :the_result, client.prompt?
   end
 
   test &quot;prompt returns the result of the getPrompt command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getPrompt&quot;).returns(:the_result)
+    client.expects(:string_command).with(&quot;getPrompt&quot;).returns(:the_result)
     assert_equal :the_result, client.prompt
   end
 
   test &quot;prompt returns the result of the getEval command&quot; do
     client = Class.new { include Selenium::Client::Idiomatic }.new
-    client.expects(:get_string).with(&quot;getEval&quot;, [:the_script,]).returns(:the_result)    
+    client.expects(:string_command).with(&quot;getEval&quot;, [:the_script,]).returns(:the_result)    
     assert_equal :the_result, client.js_eval(:the_script)
   end
   </diff>
      <filename>test/unit/selenium/client/idiomatic_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,34 +2,55 @@ require File.expand_path(File.dirname(__FILE__) + '/../../unit_test_helper')
 
 unit_tests do
   
-  test &quot;get_string returns the selenese command response&quot; do
+  test &quot;remote_control_command return the content of the HTTP response when the command succeeds&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:do_command).with(:a_verb, :some_args).returns(&quot;A String&quot;)
-    assert_equal &quot;A String&quot;, client.get_string(:a_verb, :some_args)
+    client.stubs(:http_request_for).with(:a_verb, :some_args).returns(:the_request)
+    client.expects(:http_post).with(:the_request).returns([&quot;OK&quot;, &quot;the response&quot;])
+    assert_equal &quot;the response&quot;, client.remote_control_command(:a_verb, :some_args)
   end
 
-  test &quot;args are optionals for get_string (when there are none)&quot; do
+  test &quot;remote_control_command raises a SeleniumCommandError when the command fails&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:do_command).with(:a_verb, [])
-    client.get_string :a_verb
+    client.stubs(:http_request_for).with(:a_verb, :some_args).returns(:the_request)
+    client.expects(:http_post).with(:the_request).returns([&quot;ERROR&quot;, &quot;the error message&quot;])
+    assert_raises(SeleniumCommandError) { client.remote_control_command(:a_verb, :some_args) }
+  end
+
+  test &quot;the args are optional for remote_control_command&quot; do
+    client = Class.new { include Selenium::Client::SeleneseClient }.new
+    client.expects(:http_request_for).with(:a_verb, []).returns(:the_request)
+    client.stubs(:http_post).with(:the_request).returns([&quot;OK&quot;, &quot;the response&quot;])
+    client.remote_control_command(:a_verb)
+  end
+
+  test &quot;string_commandreturns the selenese command response&quot; do
+    client = Class.new { include Selenium::Client::SeleneseClient }.new
+    client.expects(:remote_control_command).with(:a_verb, :some_args).returns(&quot;A String&quot;)
+    assert_equal &quot;A String&quot;, client.string_command(:a_verb, :some_args)
+  end
+
+  test &quot;args are optionals for string_command(when there are none)&quot; do
+    client = Class.new { include Selenium::Client::SeleneseClient }.new
+    client.expects(:remote_control_command).with(:a_verb, [])
+    client.string_command:a_verb
   end
 
   test &quot;get_string_parses the command response as a CSV row&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:do_command).with(:a_verb, :some_args).returns(&quot;One,Two,Three&quot;)
-    assert_equal [&quot;One&quot;, &quot;Two&quot;, &quot;Three&quot;], client.get_string_array(:a_verb, :some_args)
+    client.expects(:remote_control_command).with(:a_verb, :some_args).returns(&quot;One,Two,Three&quot;)
+    assert_equal [&quot;One&quot;, &quot;Two&quot;, &quot;Three&quot;], client.string_array_command(:a_verb, :some_args)
   end
 
   test &quot;get_string_parses the command response preserve spaces&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:do_command).with(:a_verb, :some_args).returns(&quot; One , Two &amp; Three &quot;)
-    assert_equal [&quot; One &quot;, &quot; Two &amp; Three &quot;], client.get_string_array(:a_verb, :some_args)
+    client.expects(:remote_control_command).with(:a_verb, :some_args).returns(&quot; One , Two &amp; Three &quot;)
+    assert_equal [&quot; One &quot;, &quot; Two &amp; Three &quot;], client.string_array_command(:a_verb, :some_args)
   end
 
   test &quot;get_string_parses ignore commas escaped with a backspace&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:do_command).with(:a_verb, :some_args).returns(&quot;One,Two\\,Three&quot;)
-    assert_equal [&quot;One&quot;, &quot;Two,Three&quot;], client.get_string_array(:a_verb, :some_args)
+    client.expects(:remote_control_command).with(:a_verb, :some_args).returns(&quot;One,Two\\,Three&quot;)
+    assert_equal [&quot;One&quot;, &quot;Two,Three&quot;], client.string_array_command(:a_verb, :some_args)
   end
     
   test &quot;parse_boolean_value returns true when string is true&quot; do
@@ -52,29 +73,29 @@ unit_tests do
     end
   end
 
-  test &quot;get_boolean returns true when get_string returns 'true'&quot; do
+  test &quot;boolean_command returns true when string_commandreturns 'true'&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.stubs(:get_string).with(:a_verb, :some_args).returns(&quot;true&quot;)
-    assert_equal true, client.get_boolean(:a_verb, :some_args)
+    client.stubs(:string_command).with(:a_verb, :some_args).returns(&quot;true&quot;)
+    assert_equal true, client.boolean_command(:a_verb, :some_args)
   end
 
-  test &quot;args are optionals for get_boolean (when there are none)&quot; do
+  test &quot;args are optionals for boolean_command (when there are none)&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.expects(:get_string).with(:a_verb, []).returns(&quot;true&quot;)
-    client.get_boolean(:a_verb)
+    client.expects(:string_command).with(:a_verb, []).returns(&quot;true&quot;)
+    client.boolean_command(:a_verb)
   end
 
-  test &quot;get_boolean returns false when get_string returns 'false'&quot; do
+  test &quot;boolean_command returns false when string_commandreturns 'false'&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.stubs(:get_string).with(:a_verb, :some_args).returns(&quot;false&quot;)
-    assert_equal false, client.get_boolean(:a_verb, :some_args)
+    client.stubs(:string_command).with(:a_verb, :some_args).returns(&quot;false&quot;)
+    assert_equal false, client.boolean_command(:a_verb, :some_args)
   end
 
-  test &quot;get_boolean_array returns an array of evaluated boolean values&quot; do
+  test &quot;boolean_array_command returns an array of evaluated boolean values&quot; do
     client = Class.new { include Selenium::Client::SeleneseClient }.new
-    client.stubs(:get_string_array).with(:a_verb, :some_args).returns(
+    client.stubs(:string_array_command).with(:a_verb, :some_args).returns(
         [&quot;true&quot;, &quot;false&quot;, &quot;true&quot;, &quot;true&quot;, &quot;false&quot;])
-    assert_equal [true, false, true, true, false], client.get_boolean_array(:a_verb, :some_args)
+    		assert_equal [true, false, true, true, false], client.boolean_array_command(:a_verb, :some_args)
   end
   
   test &quot;http_request_for a verb is cmd=verb&quot; do</diff>
      <filename>test/unit/selenium/client/selenese_client_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/selenium/client/generated_driver.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>27a0ddb4cebf5b1f2f1b911edc12f8573f8dc908</id>
    </parent>
  </parents>
  <author>
    <name>Philippe Hanrigou</name>
    <email>philippe.hanrigou@gmail.com</email>
  </author>
  <url>http://github.com/ph7/selenium-client/commit/dd7b2895144e712d67aed5bebc4ad39247ff192a</url>
  <id>dd7b2895144e712d67aed5bebc4ad39247ff192a</id>
  <committed-date>2008-09-29T08:43:20-07:00</committed-date>
  <authored-date>2008-09-29T08:43:20-07:00</authored-date>
  <message>Saner names for remote control client commands</message>
  <tree>54def7f622fadaa9e6d3844d5f9c2799b1e068cb</tree>
  <committer>
    <name>Philippe Hanrigou</name>
    <email>philippe.hanrigou@gmail.com</email>
  </committer>
</commit>
