Add :depot_path setting
authorLunar <lunar@anargeek.net>
Sun, 1 Aug 2010 16:30:37 +0000 (18:30 +0200)
committerLunar <lunar@anargeek.net>
Sun, 1 Aug 2010 16:32:22 +0000 (18:32 +0200)
config.ru
coquelicot.rb
test_coquelicot.rb

index 10b7abc..7568ca1 100644 (file)
--- a/config.ru
+++ b/config.ru
@@ -2,6 +2,7 @@ require 'sinatra'
 
 set :environment, :development
 set :raise_errors, true
+set :depot_path, Proc.new { File.join(root, "files") }
 disable :run
 
 require 'coquelicot'
index 25c583b..de21692 100644 (file)
@@ -125,7 +125,7 @@ def password_match?(password)
 end
 
 def uploaded_file(file)
-  "#{options.root}/files/#{file}"
+  "#{options.depot_path}/#{file}"
 end
 
 get '/style.css' do
index 9f969c4..7669166 100644 (file)
@@ -1,15 +1,23 @@
 $:.unshift File.join(File.dirname(__FILE__), '../rack-test/lib')
 
+require 'sinatra'
 require 'coquelicot'
 require 'spec'
 require 'rack/test'
 require 'hpricot'
+require 'tmpdir'
 
 UPLOAD_PASSWORD = 'secret'
 
 set :environment, :test
 set :upload_password, Digest::SHA1.hexdigest(UPLOAD_PASSWORD)
 
+module Depot
+  def Depot.path=(path) @@path = path end
+  def Depot.path()      @@path        end
+end
+set :depot_path, Proc.new { Depot.path }
+
 describe 'Coquelicot' do
   include Rack::Test::Methods
 
@@ -17,6 +25,14 @@ describe 'Coquelicot' do
     Sinatra::Application
   end
 
+  before do
+    Depot.path = Dir.mktmpdir('coquelicot')
+  end
+
+  after do
+    FileUtils.remove_entry_secure Depot.path
+  end
+
   it "should offer an upload form" do
     get '/'
     last_response.should be_ok