durran-carrierwave 0.3.2.3 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Generators +1 -1
- data/History.txt +39 -2
- data/Manifest.txt +19 -5
- data/README.rdoc +180 -55
- data/Rakefile +11 -4
- data/features/grid_fs_storage.feature +32 -0
- data/features/step_definitions/general_steps.rb +6 -1
- data/features/support/activerecord.rb +1 -1
- data/features/support/env.rb +3 -16
- data/lib/carrierwave.rb +19 -74
- data/lib/carrierwave/compatibility/paperclip.rb +2 -2
- data/lib/carrierwave/core_ext/inheritable_attributes.rb +3 -3
- data/lib/carrierwave/mount.rb +36 -27
- data/lib/carrierwave/orm/activerecord.rb +3 -3
- data/lib/carrierwave/orm/datamapper.rb +2 -2
- data/lib/carrierwave/orm/mongoid.rb +23 -0
- data/lib/carrierwave/orm/mongomapper.rb +1 -1
- data/lib/carrierwave/orm/sequel.rb +4 -16
- data/lib/carrierwave/processing/image_science.rb +54 -25
- data/lib/carrierwave/processing/mini_magick.rb +269 -0
- data/lib/carrierwave/processing/rmagick.rb +4 -6
- data/lib/carrierwave/sanitized_file.rb +7 -6
- data/lib/carrierwave/storage/abstract.rb +0 -2
- data/lib/carrierwave/storage/file.rb +3 -5
- data/lib/carrierwave/storage/grid_fs.rb +92 -0
- data/lib/carrierwave/storage/right_s3.rb +183 -0
- data/lib/carrierwave/storage/s3.rb +37 -69
- data/lib/carrierwave/test/matchers.rb +22 -8
- data/lib/carrierwave/uploader.rb +2 -2
- data/lib/carrierwave/uploader/cache.rb +21 -18
- data/lib/carrierwave/uploader/configuration.rb +122 -0
- data/lib/carrierwave/uploader/default_url.rb +19 -0
- data/lib/carrierwave/uploader/processing.rb +4 -2
- data/lib/carrierwave/uploader/remove.rb +0 -1
- data/lib/carrierwave/uploader/store.rb +1 -68
- data/lib/carrierwave/uploader/url.rb +1 -1
- data/lib/carrierwave/uploader/versions.rb +3 -4
- data/{lib/generators → merb_generators}/uploader_generator.rb +0 -0
- data/rails_generators/uploader/templates/uploader.rb +4 -4
- data/spec/compatibility/paperclip_spec.rb +11 -2
- data/spec/fixtures/landscape.jpg +0 -0
- data/spec/fixtures/portrait.jpg +0 -0
- data/spec/mount_spec.rb +0 -25
- data/spec/orm/datamapper_spec.rb +55 -48
- data/spec/orm/mongoid_spec.rb +206 -0
- data/spec/orm/mongomapper_spec.rb +19 -1
- data/spec/orm/sequel_spec.rb +3 -12
- data/spec/processing/image_science_spec.rb +56 -0
- data/spec/processing/mini_magick_spec.rb +76 -0
- data/spec/processing/rmagick_spec.rb +68 -0
- data/spec/sanitized_file_spec.rb +84 -74
- data/spec/spec_helper.rb +1 -3
- data/spec/storage/grid_fs_spec.rb +78 -0
- data/spec/storage/right_s3_spec.rb +75 -0
- data/spec/storage/s3_spec.rb +83 -0
- data/spec/uploader/cache_spec.rb +1 -13
- data/spec/uploader/configuration_spec.rb +105 -0
- data/spec/uploader/{default_path_spec.rb → default_url_spec.rb} +22 -5
- data/spec/uploader/paths_spec.rb +1 -1
- data/spec/uploader/processing_spec.rb +11 -0
- data/spec/uploader/store_spec.rb +21 -47
- data/spec/uploader/versions_spec.rb +0 -8
- metadata +105 -17
- data/LICENSE +0 -8
- data/carrierwave.gemspec +0 -57
- data/lib/carrierwave/uploader/default_path.rb +0 -23
- data/lib/carrierwave/uploader/paths.rb +0 -27
data/spec/spec_helper.rb
CHANGED
@@ -21,7 +21,6 @@ require 'spec/autorun'
|
|
21
21
|
require 'carrierwave'
|
22
22
|
|
23
23
|
require 'logger'
|
24
|
-
CarrierWave.logger = Logger.new(nil)
|
25
24
|
|
26
25
|
alias :running :lambda
|
27
26
|
|
@@ -33,8 +32,7 @@ def public_path( *paths )
|
|
33
32
|
File.expand_path(File.join(File.dirname(__FILE__), 'public', *paths))
|
34
33
|
end
|
35
34
|
|
36
|
-
CarrierWave.
|
37
|
-
CarrierWave.config[:root] = File.expand_path(File.dirname(__FILE__))
|
35
|
+
CarrierWave.root = public_path
|
38
36
|
|
39
37
|
module CarrierWave
|
40
38
|
module Test
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
4
|
+
|
5
|
+
describe CarrierWave::Storage::GridFS do
|
6
|
+
|
7
|
+
before do
|
8
|
+
@database = Mongo::Connection.new('localhost').db('carrierwave_test')
|
9
|
+
@uploader = mock('an uploader')
|
10
|
+
@uploader.stub!(:grid_fs_database).and_return("carrierwave_test")
|
11
|
+
@uploader.stub!(:grid_fs_host).and_return("localhost")
|
12
|
+
@uploader.stub!(:grid_fs_access_url).and_return(nil)
|
13
|
+
@uploader.stub!(:grid_fs_username).and_return(nil)
|
14
|
+
@uploader.stub!(:grid_fs_password).and_return(nil)
|
15
|
+
|
16
|
+
@storage = CarrierWave::Storage::GridFS.new(@uploader)
|
17
|
+
@file = CarrierWave::SanitizedFile.new(file_path('test.jpg'))
|
18
|
+
end
|
19
|
+
|
20
|
+
after do
|
21
|
+
GridFS::GridStore.unlink(@database, 'uploads/bar.txt')
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#store!' do
|
25
|
+
before do
|
26
|
+
@uploader.stub!(:store_path).and_return('uploads/bar.txt')
|
27
|
+
@grid_fs_file = @storage.store!(@file)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should upload the file to gridfs" do
|
31
|
+
GridFS::GridStore.read(@database, 'uploads/bar.txt').should == 'this is stuff'
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should not have a path" do
|
35
|
+
@grid_fs_file.path.should be_nil
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should not have a URL" do
|
39
|
+
@grid_fs_file.url.should be_nil
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be deletable" do
|
43
|
+
@grid_fs_file.delete
|
44
|
+
GridFS::GridStore.read(@database, 'uploads/bar.txt').should == ''
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#retrieve!' do
|
49
|
+
before do
|
50
|
+
GridFS::GridStore.open(@database, 'uploads/bar.txt', 'w') { |f| f.puts "A test, 1234" }
|
51
|
+
@uploader.stub!(:store_path).with('bar.txt').and_return('uploads/bar.txt')
|
52
|
+
@grid_fs_file = @storage.retrieve!('bar.txt')
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should retrieve the file contents from gridfs" do
|
56
|
+
@grid_fs_file.read.chomp.should == "A test, 1234"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should not have a path" do
|
60
|
+
@grid_fs_file.path.should be_nil
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should not have a URL unless set" do
|
64
|
+
@grid_fs_file.url.should be_nil
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should return a URL if configured" do
|
68
|
+
@uploader.stub!(:grid_fs_access_url).and_return("/image/show")
|
69
|
+
@grid_fs_file.url.should == "/image/show/uploads/bar.txt"
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should be deletable" do
|
73
|
+
@grid_fs_file.delete
|
74
|
+
GridFS::GridStore.read(@database, 'uploads/bar.txt').should == ''
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
4
|
+
require 'right_aws'
|
5
|
+
|
6
|
+
if ENV['S3_SPEC']
|
7
|
+
describe CarrierWave::Storage::RightS3 do
|
8
|
+
before do
|
9
|
+
@bucket = ENV['CARRIERWAVE_TEST_BUCKET']
|
10
|
+
@uploader = mock('an uploader')
|
11
|
+
@uploader.stub!(:s3_access_key_id).and_return(ENV["S3_ACCESS_KEY_ID"])
|
12
|
+
@uploader.stub!(:s3_secret_access_key).and_return(ENV["S3_SECRET_ACCESS_KEY"])
|
13
|
+
@uploader.stub!(:s3_bucket).and_return(@bucket)
|
14
|
+
@uploader.stub!(:s3_access_policy).and_return('public-read')
|
15
|
+
@uploader.stub!(:s3_cnamed).and_return(false)
|
16
|
+
|
17
|
+
@storage = CarrierWave::Storage::RightS3.new(@uploader)
|
18
|
+
@file = CarrierWave::SanitizedFile.new(file_path('test.jpg'))
|
19
|
+
end
|
20
|
+
|
21
|
+
after do
|
22
|
+
@storage.connection.delete(@bucket, 'uploads/bar.txt')
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#store!' do
|
26
|
+
before do
|
27
|
+
@uploader.stub!(:store_path).and_return('uploads/bar.txt')
|
28
|
+
@s3_file = @storage.store!(@file)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should upload the file to s3" do
|
32
|
+
@storage.connection.get_object(@bucket, 'uploads/bar.txt').should == 'this is stuff'
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should have a path" do
|
36
|
+
@s3_file.path.should == 'uploads/bar.txt'
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should have an Amazon URL" do
|
40
|
+
@s3_file.url.should == "http://#{@bucket}.s3.amazonaws.com/uploads/bar.txt"
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should be deletable" do
|
44
|
+
@s3_file.delete
|
45
|
+
lambda {@storage.connection.head(@bucket, 'uploads/bar.txt')}.should raise_error(RightAws::AwsError)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '#retrieve!' do
|
50
|
+
before do
|
51
|
+
@storage.connection.put(@bucket, "uploads/bar.txt", "A test, 1234", {'a-amz-acl' => 'public-read'})
|
52
|
+
@uploader.stub!(:store_path).with('bar.txt').and_return('uploads/bar.txt')
|
53
|
+
@s3_file = @storage.retrieve!('bar.txt')
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should retrieve the file contents from s3" do
|
57
|
+
@s3_file.read.chomp.should == "A test, 1234"
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should have a path" do
|
61
|
+
@s3_file.path.should == 'uploads/bar.txt'
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should have an Amazon URL" do
|
65
|
+
@s3_file.url.should == "http://#{@bucket}.s3.amazonaws.com/uploads/bar.txt"
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should be deletable" do
|
69
|
+
@s3_file.delete
|
70
|
+
lambda {@storage.connection.head(@bucket, 'uploads/bar.txt')}.should raise_error(RightAws::AwsError)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
4
|
+
require 'aws/s3'
|
5
|
+
|
6
|
+
if ENV['S3_SPEC']
|
7
|
+
describe CarrierWave::Storage::S3 do
|
8
|
+
before do
|
9
|
+
@uploader = mock('an uploader')
|
10
|
+
@uploader.stub!(:s3_access_key_id).and_return(ENV["S3_ACCESS_KEY_ID"])
|
11
|
+
@uploader.stub!(:s3_secret_access_key).and_return(ENV["S3_SECRET_ACCESS_KEY"])
|
12
|
+
@uploader.stub!(:s3_bucket).and_return(ENV['CARRIERWAVE_TEST_BUCKET'])
|
13
|
+
@uploader.stub!(:s3_access).and_return(:public_read)
|
14
|
+
@uploader.stub!(:s3_cnamed).and_return(false)
|
15
|
+
|
16
|
+
@storage = CarrierWave::Storage::S3.new(@uploader)
|
17
|
+
@file = CarrierWave::SanitizedFile.new(file_path('test.jpg'))
|
18
|
+
end
|
19
|
+
|
20
|
+
after do
|
21
|
+
AWS::S3::S3Object.delete('uploads/bar.txt', 'carrierwave_test')
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#store!' do
|
25
|
+
before do
|
26
|
+
@uploader.stub!(:store_path).and_return('uploads/bar.txt')
|
27
|
+
@s3_file = @storage.store!(@file)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should upload the file to s3" do
|
31
|
+
AWS::S3::S3Object.value('uploads/bar.txt', 'carrierwave_test').should == 'this is stuff'
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should have a path" do
|
35
|
+
@s3_file.path.should == 'uploads/bar.txt'
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should have an Amazon URL" do
|
39
|
+
@s3_file.url.should == 'http://s3.amazonaws.com/carrierwave_test/uploads/bar.txt'
|
40
|
+
end
|
41
|
+
|
42
|
+
context "with cnamed bucket" do
|
43
|
+
it "should have a CNAMED URL" do
|
44
|
+
@uploader.stub!(:s3_cnamed).and_return(true)
|
45
|
+
@uploader.stub!(:s3_bucket).and_return('foo.bar')
|
46
|
+
@s3_file.url.should == 'http://foo.bar/uploads/bar.txt'
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should be deletable" do
|
51
|
+
@s3_file.delete
|
52
|
+
AWS::S3::S3Object.exists?('uploads/bar.txt', 'carrierwave_test').should be_false
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '#retrieve!' do
|
57
|
+
before do
|
58
|
+
AWS::S3::S3Object.store('uploads/bar.txt', "A test, 1234", 'carrierwave_test')
|
59
|
+
|
60
|
+
@uploader.stub!(:store_path).with('bar.txt').and_return('uploads/bar.txt')
|
61
|
+
@s3_file = @storage.retrieve!('bar.txt')
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should retrieve the file contents from s3" do
|
65
|
+
@s3_file.read.chomp.should == "A test, 1234"
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should have a path" do
|
69
|
+
@s3_file.path.should == 'uploads/bar.txt'
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should have an Amazon URL" do
|
73
|
+
@s3_file.url.should == 'http://s3.amazonaws.com/carrierwave_test/uploads/bar.txt'
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should be deletable" do
|
77
|
+
@s3_file.delete
|
78
|
+
AWS::S3::S3Object.exists?('uploads/bar.txt', 'carrierwave_test').should be_false
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
end
|
data/spec/uploader/cache_spec.rb
CHANGED
@@ -51,15 +51,6 @@ describe CarrierWave::Uploader do
|
|
51
51
|
@uploader.file.exists?.should be_true
|
52
52
|
end
|
53
53
|
|
54
|
-
it "should not move it if cache_to_cache_dir is false" do
|
55
|
-
CarrierWave.config[:cache_to_cache_dir] = false
|
56
|
-
path = file_path('test.jpg')
|
57
|
-
@uploader.cache!(File.open(path))
|
58
|
-
@uploader.current_path.should == path
|
59
|
-
@uploader.file.exists?.should be_true
|
60
|
-
CarrierWave.config[:cache_to_cache_dir] = true
|
61
|
-
end
|
62
|
-
|
63
54
|
it "should set the url" do
|
64
55
|
@uploader.cache!(File.open(file_path('test.jpg')))
|
65
56
|
@uploader.url.should == '/uploads/tmp/20071201-1234-345-2255/test.jpg'
|
@@ -82,13 +73,10 @@ describe CarrierWave::Uploader do
|
|
82
73
|
end
|
83
74
|
|
84
75
|
it "should set permissions if options are given" do
|
85
|
-
|
86
|
-
CarrierWave.config[:permissions] = 0777
|
76
|
+
@uploader_class.permissions = 0777
|
87
77
|
|
88
78
|
@uploader.cache!(File.open(file_path('test.jpg')))
|
89
79
|
@uploader.should have_permissions(0777)
|
90
|
-
|
91
|
-
CarrierWave.config[:permissions] = old_permissions
|
92
80
|
end
|
93
81
|
end
|
94
82
|
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
4
|
+
|
5
|
+
|
6
|
+
describe CarrierWave do
|
7
|
+
before do
|
8
|
+
@uploader_class = Class.new(CarrierWave::Uploader::Base)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '.configure' do
|
12
|
+
it "should proxy to Uploader configuration" do
|
13
|
+
CarrierWave::Uploader::Base.add_config :test_config
|
14
|
+
CarrierWave.configure do |config|
|
15
|
+
config.test_config = "foo"
|
16
|
+
end
|
17
|
+
CarrierWave::Uploader::Base.test_config.should == 'foo'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe CarrierWave::Uploader::Base do
|
23
|
+
before do
|
24
|
+
@uploader_class = Class.new(CarrierWave::Uploader::Base)
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.configure' do
|
28
|
+
it "should set a configuration parameter" do
|
29
|
+
@uploader_class.add_config :foo_bar
|
30
|
+
@uploader_class.configure do |config|
|
31
|
+
config.foo_bar = "monkey"
|
32
|
+
end
|
33
|
+
@uploader_class.foo_bar.should == 'monkey'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe ".storage" do
|
38
|
+
it "should set the storage if an argument is given" do
|
39
|
+
storage = mock('some kind of storage')
|
40
|
+
@uploader_class.storage storage
|
41
|
+
@uploader_class.storage.should == storage
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should default to file" do
|
45
|
+
@uploader_class.storage.should == CarrierWave::Storage::File
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should set the storage from the configured shortcuts if a symbol is given" do
|
49
|
+
@uploader_class.storage :file
|
50
|
+
@uploader_class.storage.should == CarrierWave::Storage::File
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should remember the storage when inherited" do
|
54
|
+
@uploader_class.storage :s3
|
55
|
+
subclass = Class.new(@uploader_class)
|
56
|
+
subclass.storage.should == CarrierWave::Storage::S3
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should be changeable when inherited" do
|
60
|
+
@uploader_class.storage :s3
|
61
|
+
subclass = Class.new(@uploader_class)
|
62
|
+
subclass.storage.should == CarrierWave::Storage::S3
|
63
|
+
subclass.storage :file
|
64
|
+
subclass.storage.should == CarrierWave::Storage::File
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
describe '.add_config' do
|
70
|
+
it "should add a class level accessor" do
|
71
|
+
@uploader_class.add_config :foo_bar
|
72
|
+
@uploader_class.foo_bar = 'foo'
|
73
|
+
@uploader_class.foo_bar.should == 'foo'
|
74
|
+
end
|
75
|
+
|
76
|
+
['foo', :foo, 45, ['foo', :bar]].each do |val|
|
77
|
+
it "should be inheritable for a #{val.class}" do
|
78
|
+
@uploader_class.add_config :foo_bar
|
79
|
+
@child_class = Class.new(@uploader_class)
|
80
|
+
|
81
|
+
@uploader_class.foo_bar = val
|
82
|
+
@uploader_class.foo_bar.should == val
|
83
|
+
@child_class.foo_bar.should == val
|
84
|
+
|
85
|
+
@child_class.foo_bar = "bar"
|
86
|
+
@child_class.foo_bar.should == "bar"
|
87
|
+
|
88
|
+
@uploader_class.foo_bar.should == val
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
it "should add an instance level accessor" do
|
94
|
+
@uploader_class.add_config :foo_bar
|
95
|
+
@uploader_class.foo_bar = 'foo'
|
96
|
+
@uploader_class.new.foo_bar.should == 'foo'
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should add a convenient in-class setter" do
|
100
|
+
@uploader_class.add_config :foo_bar
|
101
|
+
@uploader_class.foo_bar "monkey"
|
102
|
+
@uploader_class.foo_bar.should == "monkey"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -13,11 +13,12 @@ describe CarrierWave::Uploader do
|
|
13
13
|
FileUtils.rm_rf(public_path)
|
14
14
|
end
|
15
15
|
|
16
|
-
describe 'with a default
|
16
|
+
describe 'with a default url' do
|
17
17
|
before do
|
18
18
|
@uploader_class.class_eval do
|
19
|
-
|
20
|
-
|
19
|
+
version :thumb
|
20
|
+
def default_url
|
21
|
+
["http://someurl.example.com", version_name].compact.join('/')
|
21
22
|
end
|
22
23
|
end
|
23
24
|
@uploader = @uploader_class.new
|
@@ -30,8 +31,18 @@ describe CarrierWave::Uploader do
|
|
30
31
|
end
|
31
32
|
|
32
33
|
describe '#current_path' do
|
33
|
-
it "should return
|
34
|
-
@uploader.current_path.should
|
34
|
+
it "should return nil" do
|
35
|
+
@uploader.current_path.should be_nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#url' do
|
40
|
+
it "should return the default url" do
|
41
|
+
@uploader.url.should == 'http://someurl.example.com'
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return the default url with version when given" do
|
45
|
+
@uploader.url(:thumb).should == 'http://someurl.example.com/thumb'
|
35
46
|
end
|
36
47
|
end
|
37
48
|
|
@@ -60,6 +71,12 @@ describe CarrierWave::Uploader do
|
|
60
71
|
@uploader.cache!(File.open(file_path('test.jpg')))
|
61
72
|
@uploader.current_path.should == public_path('uploads/tmp/20071201-1234-345-2255/test.jpg')
|
62
73
|
end
|
74
|
+
|
75
|
+
it "should set the url" do
|
76
|
+
@uploader.cache!(File.open(file_path('test.jpg')))
|
77
|
+
@uploader.url.should_not == 'http://someurl.example.com'
|
78
|
+
@uploader.url.should == '/uploads/tmp/20071201-1234-345-2255/test.jpg'
|
79
|
+
end
|
63
80
|
|
64
81
|
end
|
65
82
|
|