<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -124,7 +124,7 @@ module Merb
     def log_file
       if Merb::Config[:log_file]
         Merb::Config[:log_file]
-      elsif $TESTING
+      elsif Merb.testing?
         log_path / &quot;merb_test.log&quot;
       elsif !(Merb::Config[:daemonize] || Merb::Config[:cluster])
         STDOUT
@@ -193,14 +193,22 @@ module Merb
     def frozen!
       @frozen = true
     end
-
+    
+    # Load configuration and assign logger.
+    #
+    # ==== Parameters
+    # options&lt;Hash&gt;:: Options to pass on to the Merb config.
+    def load_config(options = {})
+      Merb::Config.setup({ :log_file =&gt; STDOUT, :log_level =&gt; :warn, :log_auto_flush =&gt; true }.merge(options))
+      Merb::BootLoader::Logger.run
+    end
+    
     # Load all basic dependencies (selected BootLoaders only).
     #
     # ==== Parameters
     # options&lt;Hash&gt;:: Options to pass on to the Merb config.
     def load_dependencies(options = {})
-      Merb::Config.setup({ :log_file =&gt; $stdout, :log_level =&gt; :warn, :log_auto_flush =&gt; true }.merge(options))
-      Merb::BootLoader::Logger.run
+      load_config(options)
       Merb::BootLoader::BuildFramework.run
       Merb::BootLoader::Dependencies.run
       Merb::BootLoader::BeforeAppRuns.run
@@ -210,6 +218,12 @@ module Merb
     def reload
       Merb::BootLoader::ReloadClasses.reload
     end
+    
+    # ==== Returns
+    # Boolean:: True if Merb is running via script/frozen-merb or other freezer.
+    def testing?
+      $TESTING || Merb::Config[:testing]
+    end
 
     # If block was given configures using the block.
     #
@@ -287,4 +301,4 @@ require 'merb-core/controller/mime'
 require 'merb-core/vendor/facets'
 
 # Set the environment if it hasn't already been set.
-Merb.environment ||= ENV['MERB_ENV'] || Merb::Config[:environment] || ($TESTING ? 'test' : 'development')
\ No newline at end of file
+Merb.environment ||= ENV['MERB_ENV'] || Merb::Config[:environment] || (Merb.testing? ? 'test' : 'development')
\ No newline at end of file</diff>
      <filename>lib/merb-core.rb</filename>
    </modified>
    <modified>
      <diff>@@ -125,4 +125,15 @@ describe Merb::Config do
     Merb.disabled?(:foo, :buz).should == true
   end
   
+  it &quot;should take Merb.testing? into account&quot; do
+    $TESTING.should == true
+    Merb::Config[:testing].should be_nil
+    Merb.should be_testing
+    $TESTING = false
+    Merb.should_not be_testing
+    Merb::Config[:testing] = true
+    Merb.should be_testing
+    $TESTING = true; Merb::Config[:testing] = false # reset
+  end
+  
 end
\ No newline at end of file</diff>
      <filename>spec/private/config/config_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 $TESTING=true
-
 require &quot;rubygems&quot;
 require &quot;spec&quot;
 require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;lib&quot;, &quot;merb-core&quot;)</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ff17f772b2bd30f8d57c9aa6920d4b0e83dd1d48</id>
    </parent>
  </parents>
  <author>
    <name>Fabien Franzen</name>
    <email>info@atelierfabien.be</email>
  </author>
  <url>http://github.com/wycats/merb-core/commit/209ab5ce04f2b2b2579a12228139653af5049616</url>
  <id>209ab5ce04f2b2b2579a12228139653af5049616</id>
  <committed-date>2008-03-11T01:47:18-07:00</committed-date>
  <authored-date>2008-03-11T01:47:18-07:00</authored-date>
  <message>Added Merb.testing? method

This will check for either $TESTING (as used by merb internals/plugins) or Merb::Config[:testing], which can be set in the config options. Having an option like this provides a nice interface for the more public facing parts of Merb; the auto-generated spec_helper.rb file for example can just use the test environment setting.</message>
  <tree>5808a4b8ce659b0e877393cdd972b09af6fc3d11</tree>
  <committer>
    <name>Fabien Franzen</name>
    <email>info@atelierfabien.be</email>
  </committer>
</commit>
