<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/fixtures/config.yml</filename>
    </added>
    <added>
      <filename>test/paths_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -327,6 +327,7 @@ the Selenese format.
 * Jonas Bengston -- original creator
 * Marcos Tapaj&#243;s http://www.improveit.com.br/en/company/tapajos -- Several useful features
 * Ryan Bates, http://railscasts.com -- Fixes for Rails 2.1
+* Nando Vieira, http://simplesideias.com.br
 
 == Information
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -32,6 +32,7 @@ begin
   require 'rcov/rcovtask'
   Rcov::RcovTask.new do |t|
     t.test_files = FileList['test/*_test.rb']
+    t.rcov_opts = ['-x /site_ruby/ -x .*gems.* --rails']
   end
 rescue LoadError #if rcov isn't available, ignore
 end</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,7 @@ module SeleniumOnRails
     end
     
     def selenium_tests_path
+      return SeleniumOnRailsConfig.get(&quot;selenium_tests_path&quot;) if SeleniumOnRailsConfig.get(&quot;selenium_tests_path&quot;)
       File.expand_path(File.join(RAILS_ROOT, 'test/selenium'))
     end
     </diff>
      <filename>lib/selenium_on_rails/paths.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 require 'yaml'
+require 'erb'
 
 class SeleniumOnRailsConfig
   @@defaults = {:environments =&gt; ['test']}
@@ -14,9 +15,12 @@ class SeleniumOnRailsConfig
     def self.configs
       @@configs ||= nil
       unless @@configs
-        files = [File.join(RAILS_ROOT, 'config', 'selenium.yml')]
+        files = [File.join(RAILS_ROOT, 'config', 'selenium.yml'), File.expand_path(File.dirname(__FILE__) + '/../config.yml')]
         files.each do |file|
-          @@configs = YAML.load(ERB.new(IO.read(file)).result) if File.exist?(file)
+          if File.exist?(file)
+            @@configs = YAML.load(ERB.new(IO.read(file)).result)
+            break
+          end
         end
         @@configs ||= {}
       end</diff>
      <filename>lib/selenium_on_rails_config.rb</filename>
    </modified>
    <modified>
      <diff>@@ -34,3 +34,4 @@ browsers:
 #result_dir: 'c:\result' # the directory where the results will be stored after a test:acceptance run
 
 #fixtures_path: &lt;%= &quot;#{RAILS_ROOT}/spec/fixtures&quot; %&gt;
+#selenium_tests_path: &lt;%= &quot;#{RAILS_ROOT}/spec/selenium&quot; %&gt;
\ No newline at end of file</diff>
      <filename>selenium.yml.example</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,9 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class RendererTest &lt; Test::Unit::TestCase
   def setup
+    SeleniumOnRails::PartialsSupport.send(:include, SeleniumOnRails::PathsTestHelper)
     @controller = SeleniumController.new
+    @controller.extend(SeleniumOnRails::PathsTestHelper)
     ActionController::Routing::Routes.draw
     @request    = ActionController::TestRequest.new
     @response   = ActionController::TestResponse.new
@@ -20,8 +22,6 @@ END
   end
   
   def test_html
-    get :test_file, :testname =&gt; 'html.html'
-    assert_headers
     expected =&lt;&lt;END
 &lt;html&gt;&lt;head&gt;&lt;title&gt;test layout&lt;/title&gt;&lt;/head&gt;&lt;body&gt;
 &lt;p&gt;Testing plain HTML&lt;/p&gt;
@@ -32,8 +32,16 @@ END
 &lt;p&gt;and it works...&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 END
+    File.open(test_path_for('html.html'), 'w+') { |index_file| index_file &lt;&lt; expected }
+    get :test_file, :testname =&gt; 'html.html'
+    assert_headers
+    
     assert_text_equal expected, @response.body
   end
+  
+  def test_path_for(name)
+    &quot;#{File.expand_path(File.dirname(__FILE__) + &quot;/../test_data&quot;)}/#{name}&quot;
+  end
     
   def test_rhtml
     get :test_file, :testname =&gt; 'rhtml.rhtml'</diff>
      <filename>test/renderer_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,8 +9,8 @@ class RSeleneseTest &lt; Test::Unit::TestCase
     create_rsel_file_from(input, &quot;html.rsel&quot;)
     
     @view = TestView.new
+    @view.extend(SeleniumOnRails::PathsTestHelper)
     @sel = SeleniumOnRails::RSelenese.new(@view) 
-    
     @sel.render ActionView::Template.new(test_path_for(&quot;html.rsel&quot;)), {'page_title' =&gt; page_title}
   end
   </diff>
      <filename>test/rselenese_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ class SeleneseTest &lt; Test::Unit::TestCase
   
   def setup
     @view = TestView.new
+    @view.extend(SeleniumOnRails::PathsTestHelper)
     @sel = SeleniumOnRails::Selenese.new(@view) 
   end
   
@@ -46,7 +47,7 @@ END
     assert_selenese expected, 'One line', input
   end
    
-    def test_comments_only
+  def test_comments_only
     expected = &lt;&lt;END
 &lt;p&gt;Comment &lt;strong&gt;1&lt;/strong&gt;&lt;/p&gt;
 
@@ -57,7 +58,6 @@ END
 &lt;/table&gt;
 END
     input = &lt;&lt;END
-
 Comment *1*
  
 Comment 2</diff>
      <filename>test/selenese_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,7 @@ class SeleniumControllerTest &lt; Test::Unit::TestCase
 
   def setup
     @controller = SeleniumController.new
+    @controller.extend(SeleniumOnRails::PathsTestHelper)
     ActionController::Routing::Routes.draw
     SeleniumController.any_instance.stubs(:layout_path).returns(false)
     @request    = ActionController::TestRequest.new</diff>
      <filename>test/selenium_controller_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,14 +12,32 @@ class SeleniumOnRailsConfigTest &lt; Test::Unit::TestCase
   def setup
     SeleniumOnRailsConfig.reset_config
     @selenium_file = File.join(RAILS_ROOT, 'config', 'selenium.yml')
+    @config_file = File.expand_path(File.dirname(__FILE__) + '/../config.yml')
     @selenium_content = File.read(File.dirname(__FILE__) + '/fixtures/selenium.yml')
+    @config_content = File.read(File.dirname(__FILE__) + '/fixtures/config.yml')
   end
 
   def test_get_selenium_yaml
     File.expects(:exist?).with(@selenium_file).returns(true)
     IO.expects(:read).with(@selenium_file).returns(@selenium_content)
+    IO.expects(:read).with(@config_file).never
+    IO.expects(:exist?).with(@config_file).never
+    
     assert_equal [&quot;test_cache&quot;], SeleniumOnRailsConfig.get(:environments)
     assert_equal({&quot;firefox&quot;=&gt;&quot;script/openfirefox&quot;}, SeleniumOnRailsConfig.get(:browsers))
   end
-  
+
+  def test_get_when_config_yml_exists_but_selenium_yaml_not
+    File.expects(:exist?).with(@selenium_file).returns(false)
+    File.expects(:exist?).with(@config_file).returns(true)
+    IO.expects(:read).with(@config_file).returns(@config_content)
+    IO.expects(:read).with(@selenium_file).never
+    
+    assert_equal [&quot;test&quot;], SeleniumOnRailsConfig.get(:environments)
+    expected_config = {&quot;safari&quot;=&gt;&quot;/Applications/Safari.app/Contents/MacOS/Safari&quot;,
+                       &quot;firefox&quot;=&gt;&quot;/Applications/Firefox.app/Contents/MacOS/firefox-bin&quot;} 
+    
+    assert_equal(expected_config, SeleniumOnRailsConfig.get(:browsers))
+  end
+
 end
\ No newline at end of file</diff>
      <filename>test/selenium_on_rails_config_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,7 @@ require File.dirname(__FILE__) + '/test_helper'
 class SeleniumSupportTest &lt; Test::Unit::TestCase  
   def setup
     @controller = SeleniumController.new
+    @controller.extend(SeleniumOnRails::PathsTestHelper)
     ActionController::Routing::Routes.draw
     @request    = ActionController::TestRequest.new
     @response   = ActionController::TestResponse.new</diff>
      <filename>test/selenium_support_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,7 @@ RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + &quot;/&quot;)
 class SetupTest &lt; Test::Unit::TestCase
   def setup
     @controller = SeleniumController.new
+    @controller.extend(SeleniumOnRails::PathsTestHelper)
     SeleniumController.any_instance.stubs(:clear_tables).returns([])
     SeleniumController.any_instance.stubs(:layout_path).returns(false)
     ActionController::Routing::Routes.draw</diff>
      <filename>test/setup_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,7 @@ require File.dirname(__FILE__) + '/test_helper'
 class SuiteRendererTest &lt; Test::Unit::TestCase
   def setup
     @controller = SeleniumController.new
+    @controller.extend(SeleniumOnRails::PathsTestHelper)
     ActionController::Routing::Routes.draw
     @request    = ActionController::TestRequest.new
     @response   = ActionController::TestResponse.new</diff>
      <filename>test/suite_renderer_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,7 @@ require 'rubygems'
 gem 'activesupport'
 require 'active_support'
 
+gem 'actionpack'
 require 'action_view/template_handler'
 require 'action_view/template_handlers/builder'
 require 'action_view/template_handlers/erb'
@@ -31,11 +32,6 @@ def setup_controller_test(controller)
   @response   = ActionController::TestResponse.new
 end
 
-module SeleniumOnRails::Paths
-  def selenium_tests_path
-    File.expand_path(File.dirname(__FILE__) + '/../test_data')
-  end
-end
 
 class SeleniumController
   attr_accessor :layout_override
@@ -76,6 +72,12 @@ class Test::Unit::TestCase
   
 end
 
+module SeleniumOnRails::PathsTestHelper
+  def selenium_tests_path
+    File.expand_path(File.dirname(__FILE__) + '/../test_data')
+  end
+end
+
 class TestView &lt; ActionView::Base
   include SeleniumOnRails::PartialsSupport
   </diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test_data/html.html</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>d5ae7496b3f46673546b2ef8dc675a339750f59e</id>
    </parent>
    <parent>
      <id>25e0918d65600c8c5fb76674368dbac4520434c4</id>
    </parent>
  </parents>
  <author>
    <name>eric@8thlight.com</name>
    <email>eric@8thlight.com@9274398c-e119-0410-8437-aa71ef7847aa</email>
  </author>
  <url>http://github.com/fnando/selenium-on-rails/commit/dbb235f76e584eb017c459c2b449a219fad39955</url>
  <id>dbb235f76e584eb017c459c2b449a219fad39955</id>
  <committed-date>2009-03-07T15:37:16-08:00</committed-date>
  <authored-date>2009-03-07T15:37:16-08:00</authored-date>
  <message>Merge branch 'master' of git@github.com:paytonrules/selenium-on-rails

Conflicts:

	.gitignore
	test/selenium_on_rails_config_test.rb

Huge number of changes, but mostly relating to testing.


git-svn-id: https://svn.openqa.org/svn/selenium-on-rails/selenium-on-rails@126 9274398c-e119-0410-8437-aa71ef7847aa</message>
  <tree>c0ee868cce803ac4fbb8806f99d2c5a7a9085fba</tree>
  <committer>
    <name>eric@8thlight.com</name>
    <email>eric@8thlight.com@9274398c-e119-0410-8437-aa71ef7847aa</email>
  </committer>
</commit>
