uploadcolumn 0.3.1 → 0.3.2

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.
@@ -2,6 +2,8 @@ require 'tempfile'
2
2
  require 'rubygems'
3
3
  require 'spec'
4
4
  require 'ruby-debug'
5
+ require 'action_view'
6
+ require 'action_controller'
5
7
 
6
8
  require File.join(File.dirname(__FILE__), 'custom_matchers')
7
9
 
@@ -18,10 +20,10 @@ end
18
20
 
19
21
  def stub_tempfile(filename, mime_type=nil, fake_name=nil)
20
22
  raise "#{path} file does not exist" unless File.exist?(file_path(filename))
21
-
23
+
22
24
  t = Tempfile.new(filename)
23
25
  FileUtils.copy_file(file_path(filename), t.path)
24
-
26
+
25
27
  t.stub!(:original_filename).and_return(fake_name || filename)
26
28
  t.stub!(:content_type).and_return(mime_type)
27
29
  t.stub!(:local_path).and_return(t.path)
@@ -48,43 +50,44 @@ def stub_file(filename, mime_type=nil, fake_name=nil)
48
50
  end
49
51
 
50
52
  module UploadColumnSpecHelper
51
-
53
+
52
54
  def disconnected_model(model_class)
53
55
  model_class.stub!(:columns).and_return([])
54
56
  return model_class.new
55
57
  end
56
-
58
+
57
59
  def setup_standard_mocking
58
60
  @options = mock('options', :null_object => true)
59
61
  Entry.upload_column :avatar, @options
60
62
  @entry = disconnected_model(Entry)
61
63
  mock_file
62
64
  end
63
-
65
+
64
66
  def setup_version_mocking
65
67
  Entry.upload_column :avatar, :versions => [ :thumb, :large ]
66
68
  @entry = disconnected_model(Entry)
67
69
  mock_file
68
70
  end
69
-
71
+
70
72
  private
71
-
73
+
72
74
  def mock_file
73
75
  @file = mock('file')
74
76
 
75
77
  @uploaded_file = mock('uploaded_file')
76
- @uploaded_file.stub!(:actual_filename).and_return('monkey.png')
78
+ @uploaded_file.stub!(:actual_filename).and_return('monkey.png')
77
79
  end
78
80
  end
79
81
 
80
82
  module UniversalSpecHelper
81
-
83
+
82
84
  def running(&block)
83
85
  lambda(&block)
84
86
  end
85
-
87
+
86
88
  end
87
89
 
88
90
  Spec::Runner.configure do |config|
89
91
  config.include UniversalSpecHelper
90
- end
92
+ end
93
+
@@ -38,70 +38,70 @@ describe "all uploaded files", :shared => true do
38
38
  it "should return the extension" do
39
39
  @file.extension.should == "jpg"
40
40
  end
41
-
41
+
42
42
  after do
43
43
  FileUtils.rm_rf(public_path('*'))
44
44
  end
45
45
  end
46
46
 
47
47
  describe "an uploaded tempfile" do
48
-
48
+
49
49
  before do
50
50
  @file = UploadColumn::UploadedFile.upload(stub_tempfile('kerb.jpg'))
51
51
  end
52
-
52
+
53
53
  it_should_behave_like "all uploaded files"
54
-
54
+
55
55
  it "should return the correct path" do
56
56
  @file.path.should match_path('public', 'tmp', %r{((\d+\.)+\d+)}, 'kerb.jpg')
57
57
  end
58
-
58
+
59
59
  it "should return the correct relative_path" do
60
60
  @file.relative_path.should =~ %r{^tmp/((\d+\.)+\d+)/kerb.jpg}
61
61
  end
62
-
62
+
63
63
  it "should return correct dir" do
64
64
  @file.dir.should match_path('public', 'tmp', %r{((\d+\.)+\d+)})
65
65
  end
66
66
  end
67
67
 
68
68
  describe "an uploaded StringIO" do
69
-
69
+
70
70
  before do
71
71
  @file = UploadColumn::UploadedFile.upload(stub_stringio('kerb.jpg'))
72
72
  end
73
-
73
+
74
74
  it_should_behave_like "all uploaded files"
75
-
75
+
76
76
  it "should return the correct path" do
77
77
  @file.path.should match_path('public', 'tmp', %r{((\d+\.)+\d+)}, 'kerb.jpg')
78
78
  end
79
-
79
+
80
80
  it "should return the correct relative_path" do
81
81
  @file.relative_path.should =~ %r{^tmp/((\d+\.)+\d+)/kerb.jpg}
82
82
  end
83
-
83
+
84
84
  it "should return correct dir" do
85
85
  @file.dir.should match_path('public', 'tmp', %r{((\d+\.)+\d+)})
86
86
  end
87
87
  end
88
88
 
89
89
  describe "an uploaded File object" do
90
-
90
+
91
91
  before do
92
92
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'))
93
93
  end
94
-
94
+
95
95
  it_should_behave_like "all uploaded files"
96
-
96
+
97
97
  it "should return the correct path" do
98
98
  @file.path.should match_path('public', 'tmp', %r{((\d+\.)+\d+)}, 'kerb.jpg')
99
99
  end
100
-
100
+
101
101
  it "should return the correct relative_path" do
102
102
  @file.relative_path.should =~ %r{^tmp/((\d+\.)+\d+)/kerb.jpg}
103
103
  end
104
-
104
+
105
105
  it "should return correct dir" do
106
106
  @file.dir.should match_path('public', 'tmp', %r{((\d+\.)+\d+)})
107
107
  end
@@ -116,12 +116,12 @@ describe "an uploaded non-empty String" do
116
116
  end
117
117
 
118
118
  describe "an uploded empty file" do
119
- it "should return nil" do
119
+ it "should return nil" do
120
120
  file = mock('uploaded empty file')
121
121
  file.should_receive(:empty?).and_return(true)
122
122
  upload = mock('upload')
123
123
  UploadColumn::UploadedFile.should_receive(:new).and_return(file)
124
-
124
+
125
125
  UploadColumn::UploadedFile.upload(upload).should == nil
126
126
  end
127
127
  end
@@ -130,23 +130,23 @@ describe "an UploadedFile" do
130
130
  before do
131
131
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, :donkey)
132
132
  end
133
-
133
+
134
134
  it "should have the correct relative store dir" do
135
135
  @file.relative_store_dir.should == 'donkey'
136
136
  end
137
-
137
+
138
138
  it "should have the correct store dir" do
139
139
  @file.store_dir.should == File.expand_path('donkey', PUBLIC)
140
140
  end
141
-
141
+
142
142
  it "should have the correct relative tmp dir" do
143
143
  @file.relative_tmp_dir.should == 'tmp'
144
144
  end
145
-
145
+
146
146
  it "should have the correct tmp dir" do
147
147
  @file.tmp_dir.should == File.expand_path('tmp', PUBLIC)
148
148
  end
149
-
149
+
150
150
  it "should return something sensible on inspect" do
151
151
  @file.inspect.should == "<UploadedFile: #{@file.path}>"
152
152
  end
@@ -156,11 +156,11 @@ describe "an UploadedFile where store_dir is a String" do
156
156
  before do
157
157
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, nil, :store_dir => 'monkey')
158
158
  end
159
-
159
+
160
160
  it "should have the correct relative store dir" do
161
161
  @file.relative_store_dir.should == 'monkey'
162
162
  end
163
-
163
+
164
164
  it "should have the correct store dir" do
165
165
  @file.store_dir.should == File.expand_path('monkey', PUBLIC)
166
166
  end
@@ -170,11 +170,11 @@ describe "an UploadedFile where tmp_dir is a String" do
170
170
  before do
171
171
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, nil, :tmp_dir => 'monkey')
172
172
  end
173
-
173
+
174
174
  it "should have the correct relative tmp dir" do
175
175
  @file.relative_tmp_dir.should == 'monkey'
176
176
  end
177
-
177
+
178
178
  it "should have the correct tmp dir" do
179
179
  @file.tmp_dir.should == File.expand_path('monkey', PUBLIC)
180
180
  end
@@ -184,15 +184,15 @@ describe "an UploadedFile where filename is a String" do
184
184
  before do
185
185
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, nil, :filename => 'monkey.png', :versions => [:thumb, :large])
186
186
  end
187
-
187
+
188
188
  it "should have the correct filename" do
189
189
  @file.filename.should == 'monkey.png'
190
190
  end
191
-
191
+
192
192
  it "should remember the actual filename" do
193
193
  @file.actual_filename.should == "kerb.jpg"
194
194
  end
195
-
195
+
196
196
  it "should have versions with the correct filename" do
197
197
  @file.thumb.filename.should == 'monkey.png'
198
198
  @file.large.filename.should == 'monkey.png'
@@ -205,15 +205,15 @@ describe "an UploadedFile where filename is a Proc with the record piped in" do
205
205
  record.stub!(:name).and_return('quack')
206
206
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :versions => [:thumb, :large], :filename => proc{ |r| r.name })
207
207
  end
208
-
208
+
209
209
  it "should have the correct filename" do
210
210
  @file.filename.should == 'quack'
211
211
  end
212
-
212
+
213
213
  it "should remember the actual filename" do
214
214
  @file.actual_filename.should == "kerb.jpg"
215
215
  end
216
-
216
+
217
217
  it "should have versions with the correct filename" do
218
218
  @file.thumb.filename.should == 'quack'
219
219
  @file.large.filename.should == 'quack'
@@ -226,15 +226,15 @@ describe "an UploadedFile where filename is a Proc with the record and file pipe
226
226
  record.stub!(:name).and_return('quack')
227
227
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :versions => [:thumb, :large], :filename => proc{ |r, f| "#{r.name}-#{f.basename}-#{f.suffix}quox.#{f.extension}"})
228
228
  end
229
-
229
+
230
230
  it "should have the correct filename" do
231
231
  @file.filename.should == 'quack-kerb-quox.jpg'
232
232
  end
233
-
233
+
234
234
  it "should remember the actual filename" do
235
235
  @file.actual_filename.should == "kerb.jpg"
236
236
  end
237
-
237
+
238
238
  it "should have versions with the correct filename" do
239
239
  @file.thumb.filename.should == 'quack-kerb-thumbquox.jpg'
240
240
  @file.large.filename.should == 'quack-kerb-largequox.jpg'
@@ -246,16 +246,16 @@ describe "an UploadedFile with a filename callback" do
246
246
  @instance = mock('instance with filename callback')
247
247
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), @instance, :monkey, :versions => [:thumb, :large])
248
248
  end
249
-
249
+
250
250
  it "should have the correct filename" do
251
251
  @instance.should_receive(:monkey_filename).with(@file).and_return("llama")
252
252
  @file.filename.should == 'llama'
253
253
  end
254
-
254
+
255
255
  it "should remember the actual filename" do
256
256
  @file.actual_filename.should == "kerb.jpg"
257
257
  end
258
-
258
+
259
259
  it "should have versions with the correct filename" do
260
260
  @instance.should_receive(:monkey_filename).with(@file.thumb).and_return("barr")
261
261
  @instance.should_receive(:monkey_filename).with(@file.large).and_return("quox")
@@ -270,24 +270,24 @@ describe "uploading an UploadedFile where filename is a Proc" do
270
270
  record.stub!(:name).and_return('quack')
271
271
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), record, nil, :versions => [:thumb, :large], :filename => proc{ |r, f| "#{r.name}-#{f.basename}-#{f.suffix}quox.#{f.extension}"})
272
272
  end
273
-
273
+
274
274
  it "should have the correct filename" do
275
275
  @file.filename.should == 'quack-kerb-quox.jpg'
276
276
  end
277
-
277
+
278
278
  it "should remember the actual filename" do
279
279
  @file.actual_filename.should == "kerb.jpg"
280
280
  end
281
-
281
+
282
282
  it "should have versions with the correct filename" do
283
283
  @file.thumb.filename.should == 'quack-kerb-thumbquox.jpg'
284
284
  @file.large.filename.should == 'quack-kerb-largequox.jpg'
285
285
  end
286
-
286
+
287
287
  it "should have a correct path" do
288
288
  @file.path.should match_path(PUBLIC, 'tmp', /(?:\d+\.)+\d+/, 'quack-kerb-quox.jpg' )
289
289
  end
290
-
290
+
291
291
  it "should have versions with correct paths" do
292
292
  @file.thumb.path.should match_path(PUBLIC, 'tmp', /(?:\d+\.)+\d+/, 'quack-kerb-thumbquox.jpg' )
293
293
  @file.large.path.should match_path(PUBLIC, 'tmp', /(?:\d+\.)+\d+/, 'quack-kerb-largequox.jpg' )
@@ -298,11 +298,11 @@ describe "an UploadedFile where store_dir is a simple Proc" do
298
298
  before do
299
299
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, nil, :store_dir => proc{'monkey'})
300
300
  end
301
-
301
+
302
302
  it "should have the correct relative store dir" do
303
303
  @file.relative_store_dir.should == 'monkey'
304
304
  end
305
-
305
+
306
306
  it "should have the correct store dir" do
307
307
  @file.store_dir.should == File.expand_path('monkey', PUBLIC)
308
308
  end
@@ -312,11 +312,11 @@ describe "an UploadedFile where tmp_dir is a simple Proc" do
312
312
  before do
313
313
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, nil, :tmp_dir => proc{'monkey'})
314
314
  end
315
-
315
+
316
316
  it "should have the correct relative tmp dir" do
317
317
  @file.relative_tmp_dir.should == 'monkey'
318
318
  end
319
-
319
+
320
320
  it "should have the correct tmp dir" do
321
321
  @file.tmp_dir.should == File.expand_path('monkey', PUBLIC)
322
322
  end
@@ -328,11 +328,11 @@ describe "an UploadedFile where store_dir is a Proc and has the record piped in"
328
328
  record.stub!(:name).and_return('quack')
329
329
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :store_dir => proc{ |record| File.join(record.name, 'monkey')})
330
330
  end
331
-
331
+
332
332
  it "should have the correct relative store dir" do
333
333
  @file.relative_store_dir.should == 'quack/monkey'
334
334
  end
335
-
335
+
336
336
  it "should have the correct store dir" do
337
337
  @file.store_dir.should == File.expand_path('quack/monkey', PUBLIC)
338
338
  end
@@ -341,14 +341,14 @@ end
341
341
  describe "an UploadedFile where tmp_dir is a Proc and has the record piped in" do
342
342
  before do
343
343
  record = mock('a record')
344
- record.stub!(:name).and_return('quack')
344
+ record.stub!(:name).and_return('quack')
345
345
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :tmp_dir => proc{ |record| File.join(record.name, 'monkey')})
346
346
  end
347
-
347
+
348
348
  it "should have the correct relative tmp dir" do
349
349
  @file.relative_tmp_dir.should == 'quack/monkey'
350
350
  end
351
-
351
+
352
352
  it "should have the correct tmp dir" do
353
353
  @file.tmp_dir.should == File.expand_path('quack/monkey', PUBLIC)
354
354
  end
@@ -361,11 +361,11 @@ describe "an UploadedFile where store_dir is a Proc and has the record and file
361
361
  record.stub!(:name).and_return('quack')
362
362
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :store_dir => proc{ |r, f| File.join(record.name, f.basename, 'monkey')})
363
363
  end
364
-
364
+
365
365
  it "should have the correct relative store dir" do
366
366
  @file.relative_store_dir.should == 'quack/kerb/monkey'
367
367
  end
368
-
368
+
369
369
  it "should have the correct store dir" do
370
370
  @file.store_dir.should == File.expand_path('quack/kerb/monkey', PUBLIC)
371
371
  end
@@ -374,14 +374,14 @@ end
374
374
  describe "an UploadedFile where tmp_dir is a Proc and has the record and file piped in" do
375
375
  before do
376
376
  record = mock('a record')
377
- record.stub!(:name).and_return('quack')
377
+ record.stub!(:name).and_return('quack')
378
378
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), record, nil, :tmp_dir => proc{ |r, f| File.join(record.name, f.basename, 'monkey')})
379
379
  end
380
-
380
+
381
381
  it "should have the correct relative tmp dir" do
382
382
  @file.relative_tmp_dir.should == 'quack/kerb/monkey'
383
383
  end
384
-
384
+
385
385
  it "should have the correct tmp dir" do
386
386
  @file.tmp_dir.should == File.expand_path('quack/kerb/monkey', PUBLIC)
387
387
  end
@@ -394,11 +394,11 @@ describe "an UploadedFile with a store_dir callback" do
394
394
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), i, :monkey)
395
395
  i.should_receive(:monkey_store_dir).with(@file).and_return('llama')
396
396
  end
397
-
397
+
398
398
  it "should have the correct relative store dir" do
399
399
  @file.relative_store_dir.should == 'llama'
400
400
  end
401
-
401
+
402
402
  it "should have the correct store dir" do
403
403
  @file.store_dir.should == File.expand_path('llama', PUBLIC)
404
404
  end
@@ -410,11 +410,11 @@ describe "an UploadedFile with a tmp_dir callback" do
410
410
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), i, :monkey)
411
411
  i.should_receive(:monkey_tmp_dir).with(@file).and_return('gorilla')
412
412
  end
413
-
413
+
414
414
  it "should have the correct relative tmp dir" do
415
415
  @file.relative_tmp_dir.should == 'gorilla'
416
416
  end
417
-
417
+
418
418
  it "should have the correct tmp dir" do
419
419
  @file.tmp_dir.should == File.expand_path('gorilla', PUBLIC)
420
420
  end
@@ -425,46 +425,46 @@ describe "an UploadedFile that has just been uploaded" do
425
425
  before do
426
426
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :monkey)
427
427
  end
428
-
428
+
429
429
  it_should_behave_like "all uploaded files"
430
-
430
+
431
431
  it "should be new" do
432
432
  @file.should be_new_file
433
433
  end
434
-
434
+
435
435
  it "should be a tempfile" do
436
436
  @file.should be_a_tempfile
437
437
  end
438
-
438
+
439
439
  it "should exist" do
440
440
  @file.should be_in_existence
441
441
  end
442
-
442
+
443
443
  it "should be stored in tmp" do
444
444
  @file.path.should match_path('public', 'tmp', %r{((\d+\.)+\d+)}, 'kerb.jpg')
445
445
  end
446
-
446
+
447
447
  end
448
448
 
449
449
  describe "saving an UploadedFile" do
450
450
  before do
451
451
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :monkey)
452
452
  end
453
-
453
+
454
454
  it "should return true" do
455
455
  @file.send(:save).should === true
456
456
  end
457
-
457
+
458
458
  it "should copy the file to the correct location" do
459
459
  @file.send(:save)
460
460
  @file.path.should match_path('public', 'monkey', 'kerb.jpg')
461
461
  @file.should be_in_existence
462
462
  end
463
-
463
+
464
464
  after do
465
465
  FileUtils.rm_rf(PUBLIC)
466
466
  end
467
-
467
+
468
468
  end
469
469
 
470
470
  describe "a saved UploadedFile" do
@@ -472,25 +472,25 @@ describe "a saved UploadedFile" do
472
472
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :monkey)
473
473
  @file.send(:save)
474
474
  end
475
-
475
+
476
476
  it_should_behave_like "all uploaded files"
477
-
477
+
478
478
  it "should not be new" do
479
479
  @file.should_not be_new_file
480
480
  end
481
-
481
+
482
482
  it "should not be a tempfile" do
483
483
  @file.should_not be_a_tempfile
484
484
  end
485
-
485
+
486
486
  it "should return the correct path" do
487
487
  @file.path.should match_path('public', 'monkey', 'kerb.jpg')
488
488
  end
489
-
489
+
490
490
  it "should return the correct relative_path" do
491
491
  @file.relative_path.should == "monkey/kerb.jpg"
492
492
  end
493
-
493
+
494
494
  it "should return the correct dir" do
495
495
  @file.dir.should match_path('public', 'monkey')
496
496
  end
@@ -498,7 +498,7 @@ describe "a saved UploadedFile" do
498
498
  after do
499
499
  FileUtils.rm_rf(PUBLIC)
500
500
  end
501
-
501
+
502
502
  end
503
503
 
504
504
  describe "an UploadedFile with a manipulator" do
@@ -507,11 +507,11 @@ describe "an UploadedFile with a manipulator" do
507
507
  a_manipulator.send(:define_method, :monkey! ) { |stuff| stuff }
508
508
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, :donkey, :manipulator => a_manipulator)
509
509
  end
510
-
510
+
511
511
  it "should extend the object with the manipulator methods." do
512
512
  @file.should respond_to(:monkey!)
513
513
  end
514
-
514
+
515
515
  end
516
516
 
517
517
  describe "an UploadedFile with a manipulator and versions" do
@@ -520,16 +520,16 @@ describe "an UploadedFile with a manipulator and versions" do
520
520
  a_manipulator.send(:define_method, :monkey! ) { |stuff| stuff }
521
521
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, :donkey, :versions => [ :thumb, :large ], :manipulator => a_manipulator)
522
522
  end
523
-
523
+
524
524
  it "should extend the object with the manipulator methods." do
525
525
  @file.should respond_to(:monkey!)
526
526
  end
527
-
527
+
528
528
  it "should extend the versions with the manipulator methods." do
529
529
  @file.thumb.should respond_to(:monkey!)
530
530
  @file.large.should respond_to(:monkey!)
531
531
  end
532
-
532
+
533
533
  end
534
534
 
535
535
  describe "an UploadedFile with a manipulator with dependencies" do
@@ -543,18 +543,18 @@ describe "an UploadedFile with a manipulator with dependencies" do
543
543
  # and if process! is called, the process_proxy will be adressed instead.
544
544
  process_proxy.load_manipulator_dependencies
545
545
  end
546
-
546
+
547
547
  process_proxy.should_receive(:load_manipulator_dependencies)
548
-
548
+
549
549
  @file = UploadColumn::UploadedFile.new(:open, stub_file('kerb.jpg'), nil, :donkey, :manipulator => a_manipulator)
550
550
 
551
551
  @file.should respond_to(:monkey!)
552
552
  end
553
-
553
+
554
554
  end
555
555
 
556
556
  describe "an UploadedFile with a manipulator and process instruction" do
557
-
557
+
558
558
  it "should process before iterating versions" do
559
559
  process_proxy = mock('nothing in particular')
560
560
  a_manipulator = Module.new
@@ -595,12 +595,12 @@ describe "an UploadedFile with versions" do
595
595
  before do
596
596
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :monkey, :versions => [ :thumb, :large ])
597
597
  end
598
-
598
+
599
599
  it "should respond to version methods" do
600
600
  @file.should respond_to(:thumb)
601
601
  @file.should respond_to(:large)
602
602
  end
603
-
603
+
604
604
  it "should return an UploadedFile instance when a version method is called" do
605
605
  @file.thumb.should be_instance_of(UploadColumn::UploadedFile)
606
606
  @file.large.should be_instance_of(UploadColumn::UploadedFile)
@@ -622,7 +622,7 @@ describe "all versions of uploaded files", :shared => true do
622
622
  @thumb.extension.should == "jpg"
623
623
  @large.extension.should == "jpg"
624
624
  end
625
-
625
+
626
626
  it "should return the correct suffix" do
627
627
  @thumb.suffix.should == :thumb
628
628
  @large.suffix.should == :large
@@ -635,9 +635,9 @@ describe "a version of an uploaded UploadedFile" do
635
635
  @thumb = @file.thumb
636
636
  @large = @file.large
637
637
  end
638
-
638
+
639
639
  it_should_behave_like "all versions of uploaded files"
640
-
640
+
641
641
  it "should not be empty" do
642
642
  @thumb.should_not be_empty
643
643
  @large.should_not be_empty
@@ -655,9 +655,9 @@ describe "a version of an uploaded UploadedFile" do
655
655
  end
656
656
 
657
657
  describe "uploading a file with versions as a Hash" do
658
-
658
+
659
659
  it "should process the files with the manipulator" do
660
-
660
+
661
661
  process_proxy = mock('nothing in particular')
662
662
  a_manipulator = Module.new
663
663
  a_manipulator.send(:define_method, :process! ) do |stuff|
@@ -665,20 +665,20 @@ describe "uploading a file with versions as a Hash" do
665
665
  # and if process! is called, the process_proxy will be adressed instead.
666
666
  process_proxy.process!(self.filename, stuff)
667
667
  end
668
-
668
+
669
669
  process_proxy.should_receive(:process!).with('kerb-thumb.jpg', '200x200')
670
670
  process_proxy.should_receive(:process!).with('kerb-large.jpg', '300x300')
671
-
671
+
672
672
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey, :manipulator => a_manipulator, :versions => { :thumb => '200x200', :large => '300x300' })
673
673
  @thumb = @file.thumb
674
674
  @large = @file.large
675
675
  end
676
-
676
+
677
677
  end
678
678
 
679
679
 
680
680
  describe "an version of an UploadedFile with versions as a hash" do
681
-
681
+
682
682
  before(:each) do
683
683
  process_proxy = mock('nothing in particular')
684
684
  a_manipulator = Module.new
@@ -687,9 +687,9 @@ describe "an version of an UploadedFile with versions as a hash" do
687
687
  @thumb = @file.thumb
688
688
  @large = @file.large
689
689
  end
690
-
690
+
691
691
  it_should_behave_like "all versions of uploaded files"
692
-
692
+
693
693
  it "should not be empty" do
694
694
  @thumb.should_not be_empty
695
695
  @large.should_not be_empty
@@ -703,50 +703,50 @@ describe "an version of an UploadedFile with versions as a hash" do
703
703
  end
704
704
 
705
705
  describe "a retrieved UploadedFile" do
706
-
706
+
707
707
  before do
708
708
  @file = UploadColumn::UploadedFile.retrieve('kerb.jpg', nil, :monkey)
709
709
  @file.stub!(:size).and_return(87582)
710
710
  end
711
-
711
+
712
712
  it_should_behave_like "all uploaded files"
713
-
713
+
714
714
  it "should not be new" do
715
715
  @file.should_not be_new_file
716
716
  end
717
-
717
+
718
718
  it "should not be a tempfile" do
719
719
  @file.should_not be_a_tempfile
720
720
  end
721
-
721
+
722
722
  it "should return the correct path" do
723
723
  @file.path.should match_path(public_path('monkey/kerb.jpg'))
724
724
  end
725
725
  end
726
726
 
727
727
  describe "a version of a retrieved UploadedFile" do
728
-
728
+
729
729
  before do
730
730
  @file = UploadColumn::UploadedFile.retrieve('kerb.jpg', nil, :monkey, :versions => [:thumb, :large])
731
731
  @thumb = @file.thumb
732
732
  @large = @file.large
733
733
  end
734
-
734
+
735
735
  it_should_behave_like "all versions of uploaded files"
736
-
736
+
737
737
  it "should not be new" do
738
738
  @file.should_not be_new_file
739
739
  end
740
-
740
+
741
741
  it "should not be a tempfile" do
742
742
  @file.should_not be_a_tempfile
743
743
  end
744
-
744
+
745
745
  it "should return the correct path" do
746
746
  @thumb.path.should match_path(public_path('monkey/kerb-thumb.jpg'))
747
747
  @large.path.should match_path(public_path('monkey/kerb-large.jpg'))
748
748
  end
749
-
749
+
750
750
  # Since the files don't exist in fixtures/ it wouldn't make sense to test their size
751
751
  end
752
752
 
@@ -757,17 +757,17 @@ describe "a version of a saved UploadedFile" do
757
757
  @thumb = @file.thumb
758
758
  @large = @file.large
759
759
  end
760
-
760
+
761
761
  it_should_behave_like "all versions of uploaded files"
762
-
762
+
763
763
  it "should not be new" do
764
764
  @file.should_not be_new_file
765
765
  end
766
-
766
+
767
767
  it "should not be a tempfile" do
768
768
  @file.should_not be_a_tempfile
769
769
  end
770
-
770
+
771
771
  it "should return the correct path" do
772
772
  @thumb.path.should match_path('public', 'monkey', 'kerb-thumb.jpg')
773
773
  @large.path.should match_path('public', 'monkey', 'kerb-large.jpg')
@@ -781,25 +781,25 @@ describe "opening a temporary UploadedFile" do
781
781
  @file = UploadColumn::UploadedFile.retrieve_temp(file_path('kerb.jpg'))
782
782
  end.should raise_error(UploadColumn::TemporaryPathMalformedError, "#{file_path('kerb.jpg')} is not a valid temporary path!")
783
783
  end
784
-
784
+
785
785
  it "should raise an error if its in a subdirectory" do
786
786
  lambda do
787
787
  @file = UploadColumn::UploadedFile.retrieve_temp('somefolder/1234.56789.1234/donkey.jpg;llama.png')
788
788
  end.should raise_error(UploadColumn::TemporaryPathMalformedError, "somefolder/1234.56789.1234/donkey.jpg;llama.png is not a valid temporary path!")
789
789
  end
790
-
790
+
791
791
  it "should raise an error if its relative" do
792
792
  lambda do
793
793
  @file = UploadColumn::UploadedFile.retrieve_temp('../1234.56789.1234/donkey.jpg;llama.png')
794
794
  end.should raise_error(UploadColumn::TemporaryPathMalformedError, "../1234.56789.1234/donkey.jpg;llama.png is not a valid temporary path!")
795
795
  end
796
-
796
+
797
797
  it "should raise an error if the filename is omitted" do
798
798
  lambda do
799
799
  @file = UploadColumn::UploadedFile.retrieve_temp('1234.56789.1234;llama.png')
800
800
  end.should raise_error(UploadColumn::TemporaryPathMalformedError, "1234.56789.1234;llama.png is not a valid temporary path!")
801
801
  end
802
-
802
+
803
803
  it "should not raise an error on nil" do
804
804
  lambda do
805
805
  @file = UploadColumn::UploadedFile.retrieve_temp(nil)
@@ -814,30 +814,30 @@ describe "opening a temporary UploadedFile" do
814
814
  end
815
815
 
816
816
  describe "a retrieved temporary UploadedFile" do
817
-
817
+
818
818
  before(:all) do
819
819
  FileUtils.mkdir_p(public_path('tmp/123455.1233.1233'))
820
820
  FileUtils.cp(file_path('kerb.jpg'), public_path('tmp/123455.1233.1233/kerb.jpg'))
821
821
  end
822
-
822
+
823
823
  before do
824
824
  @file = UploadColumn::UploadedFile.retrieve_temp('123455.1233.1233/kerb.jpg')
825
825
  end
826
-
826
+
827
827
  it_should_behave_like "all uploaded files"
828
-
828
+
829
829
  it "should not be new" do
830
830
  @file.should_not be_new_file
831
831
  end
832
-
832
+
833
833
  it "should be a tempfile" do
834
834
  @file.should be_a_tempfile
835
835
  end
836
-
836
+
837
837
  it "should return the correct path" do
838
838
  @file.path.should match_path('public', 'tmp', '123455.1233.1233', 'kerb.jpg')
839
839
  end
840
-
840
+
841
841
  after(:all) do
842
842
  FileUtils.rm_rf(PUBLIC)
843
843
  end
@@ -848,67 +848,67 @@ describe "a retrieved temporary UploadedFile with an appended original filename"
848
848
  FileUtils.mkdir_p(public_path('tmp/123455.1233.1233'))
849
849
  FileUtils.cp(file_path('kerb.jpg'), public_path('tmp/123455.1233.1233/kerb.jpg'))
850
850
  end
851
-
851
+
852
852
  before do
853
853
  @file = UploadColumn::UploadedFile.retrieve_temp('123455.1233.1233/kerb.jpg;monkey.png')
854
854
  end
855
-
855
+
856
856
  it "should not be new" do
857
857
  @file.should_not be_new_file
858
858
  end
859
-
859
+
860
860
  it "should be a tempfile" do
861
861
  @file.should be_a_tempfile
862
862
  end
863
-
863
+
864
864
  it "should return the correct original filename" do
865
865
  @file.original_filename.should == "monkey.png"
866
866
  end
867
-
867
+
868
868
  it "should return the correct path" do
869
869
  @file.path.should match_path('public', 'tmp', '123455.1233.1233', 'kerb.jpg')
870
870
  end
871
-
871
+
872
872
  after(:all) do
873
873
  FileUtils.rm_rf(PUBLIC)
874
874
  end
875
875
  end
876
876
 
877
877
  describe "a version of a retrieved temporary UploadedFile" do
878
-
878
+
879
879
  before(:all) do
880
880
  FileUtils.mkdir_p(public_path('tmp/123455.1233.1233'))
881
881
  FileUtils.cp(file_path('kerb.jpg'), public_path('tmp/123455.1233.1233/kerb.jpg'))
882
882
  end
883
-
883
+
884
884
  before do
885
885
  @file = UploadColumn::UploadedFile.retrieve_temp('123455.1233.1233/kerb.jpg', nil, :monkey, :versions => [:thumb, :large])
886
886
  @thumb = @file.thumb
887
887
  @large = @file.large
888
888
  end
889
-
889
+
890
890
  it_should_behave_like "all versions of uploaded files"
891
-
891
+
892
892
  it "should not be new" do
893
893
  @file.should_not be_new_file
894
894
  end
895
-
895
+
896
896
  it "should be a tempfile" do
897
897
  @file.should be_a_tempfile
898
898
  end
899
-
899
+
900
900
  it "should return the correct path" do
901
901
  @thumb.path.should match_path(public_path('tmp/123455.1233.1233/kerb-thumb.jpg'))
902
902
  @large.path.should match_path(public_path('tmp/123455.1233.1233/kerb-large.jpg'))
903
903
  end
904
-
904
+
905
905
  after(:all) do
906
906
  FileUtils.rm_rf(PUBLIC)
907
907
  end
908
908
  end
909
909
 
910
910
  describe "uploading a file with validate_integrity set to true" do
911
-
911
+
912
912
  it "should raise an error if no extensions are set" do
913
913
  lambda do
914
914
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, nil, :validate_integrity => true)
@@ -920,7 +920,7 @@ describe "uploading a file with validate_integrity set to true" do
920
920
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, nil, :validate_integrity => true, :extensions => %w(jpg gif png))
921
921
  end.should_not raise_error
922
922
  end
923
-
923
+
924
924
  it "should raise an error if the extension is not in extensions" do
925
925
  lambda do
926
926
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, nil, :validate_integrity => true, :extensions => %w(doc gif png))
@@ -932,7 +932,7 @@ describe "An UploadedFile with no web_root set" do
932
932
  it "should return the correct URL and to_s" do
933
933
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey, :versions => [:thumb, :large])
934
934
  @file.send(:save)
935
-
935
+
936
936
  @file.url.should == "/donkey/kerb.jpg"
937
937
  @file.to_s.should == "/donkey/kerb.jpg"
938
938
  @file.thumb.url.should == "/donkey/kerb-thumb.jpg"
@@ -943,13 +943,13 @@ end
943
943
  describe "An UploadedFile with no web_root set and MS style slashes in its relative path" do
944
944
  it "should return the correct URL and to_s" do
945
945
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey, :versions => [:thumb, :large])
946
-
946
+
947
947
  @file.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb.jpg')
948
948
  @file.thumb.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb-thumb.jpg')
949
949
  @file.large.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb-large.jpg')
950
-
950
+
951
951
  @file.send(:save)
952
-
952
+
953
953
  @file.url.should == "/stylesheets/something/monkey/kerb.jpg"
954
954
  @file.to_s.should == "/stylesheets/something/monkey/kerb.jpg"
955
955
  @file.thumb.url.should == "/stylesheets/something/monkey/kerb-thumb.jpg"
@@ -961,7 +961,7 @@ describe "An UploadedFile with an absolute web_root set" do
961
961
  it "should return the correct URL and to_s" do
962
962
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey, :web_root => 'http://ape.com', :versions => [:thumb, :large])
963
963
  @file.send(:save)
964
-
964
+
965
965
  @file.url.should == "http://ape.com/donkey/kerb.jpg"
966
966
  @file.to_s.should == "http://ape.com/donkey/kerb.jpg"
967
967
  @file.thumb.url.should == "http://ape.com/donkey/kerb-thumb.jpg"
@@ -975,9 +975,9 @@ describe "An UploadedFile with an absolute web_root set and MS style slashes in
975
975
  @file.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb.jpg')
976
976
  @file.thumb.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb-thumb.jpg')
977
977
  @file.large.should_receive(:relative_path).at_least(:once).and_return('stylesheets\something\monkey\kerb-large.jpg')
978
-
978
+
979
979
  @file.send(:save)
980
-
980
+
981
981
  @file.url.should == "http://ape.com/stylesheets/something/monkey/kerb.jpg"
982
982
  @file.to_s.should == "http://ape.com/stylesheets/something/monkey/kerb.jpg"
983
983
  @file.thumb.url.should == "http://ape.com/stylesheets/something/monkey/kerb-thumb.jpg"
@@ -989,7 +989,7 @@ describe "An UploadedFile with a web_root set" do
989
989
  it "should return the correct URL" do
990
990
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey, :web_root => '/ape', :versions => [:thumb, :large])
991
991
  @file.send(:save)
992
-
992
+
993
993
  @file.url.should == "/ape/donkey/kerb.jpg"
994
994
  @file.to_s.should == "/ape/donkey/kerb.jpg"
995
995
  @file.thumb.url.should == "/ape/donkey/kerb-thumb.jpg"
@@ -998,56 +998,57 @@ describe "An UploadedFile with a web_root set" do
998
998
  end
999
999
 
1000
1000
  describe "the temp_value of an UploadedFile without an original filename" do
1001
-
1002
- setup do
1001
+
1002
+ before do
1003
1003
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey)
1004
1004
  @file.should_receive(:original_filename).and_return(nil)
1005
1005
  end
1006
-
1006
+
1007
1007
  it "should match the TempValueRegexp" do
1008
1008
  @file.temp_value.should match(::UploadColumn::TempValueRegexp)
1009
1009
  end
1010
-
1010
+
1011
1011
  it "should end in the filename" do
1012
1012
  @file.temp_value.should match(/\/kerb\.jpg$/)
1013
1013
  end
1014
1014
  end
1015
1015
 
1016
1016
  describe "the temp_value of an UploadedFile with a different orignal filename" do
1017
-
1018
- setup do
1017
+
1018
+ before do
1019
1019
  @file = UploadColumn::UploadedFile.upload(stub_file('kerb.jpg'), nil, :donkey)
1020
1020
  @file.should_receive(:original_filename).at_least(:once).and_return('monkey.png')
1021
1021
  end
1022
-
1022
+
1023
1023
  it "should match the TempValueRegexp" do
1024
1024
  @file.temp_value.should match(::UploadColumn::TempValueRegexp)
1025
1025
  end
1026
-
1026
+
1027
1027
  it "should append the original_filename" do
1028
1028
  @file.temp_value.should match(/kerb\.jpg;monkey\.png$/)
1029
1029
  end
1030
1030
  end
1031
1031
 
1032
1032
  describe "the temp_value of a retrieved temporary UploadedFile" do
1033
-
1034
- setup do
1033
+
1034
+ before do
1035
1035
  @file = UploadColumn::UploadedFile.retrieve_temp('12345.1234.12345/kerb.jpg', nil, :donkey)
1036
1036
  @file.should_receive(:original_filename).at_least(:once).and_return(nil)
1037
1037
  end
1038
-
1038
+
1039
1039
  it "should be mainatained" do
1040
1040
  @file.temp_value.should == '12345.1234.12345/kerb.jpg'
1041
1041
  end
1042
1042
  end
1043
1043
 
1044
1044
  describe "the temp_value of an UploadedFile that is not temporary" do
1045
-
1046
- setup do
1045
+
1046
+ before do
1047
1047
  @file = UploadColumn::UploadedFile.retrieve('kerb.jpg', nil, :donkey)
1048
1048
  end
1049
-
1049
+
1050
1050
  it "should be mainatained" do
1051
1051
  @file.temp_value.should be_nil
1052
1052
  end
1053
- end
1053
+ end
1054
+