@@ -274,4 +274,39 @@ class WriterTest < Test::Unit::TestCase
274
274
end
275
275
end
276
276
end
277
+
278
+ test 'skip generating the preview in a directory' do
279
+ crate = ROCrate ::Crate . new
280
+ crate . add_file ( fixture_file ( 'info.txt' ) )
281
+ crate . add_file ( StringIO . new ( 'just a string!' ) , 'notice.txt' )
282
+ crate . add_file ( fixture_file ( 'data.csv' ) , 'directory/data.csv' )
283
+
284
+ Dir . mktmpdir do |dir |
285
+ ROCrate ::Writer . new ( crate ) . write ( dir , skip_preview : true )
286
+ assert ::File . exist? ( ::File . join ( dir , ROCrate ::Metadata ::IDENTIFIER ) )
287
+ refute ::File . exist? ( ::File . join ( dir , ROCrate ::Preview ::IDENTIFIER ) )
288
+ assert_equal 6 , ::File . size ( ::File . join ( dir , 'info.txt' ) )
289
+ assert_equal 14 , ::File . size ( ::File . join ( dir , 'notice.txt' ) )
290
+ assert_equal 20 , ::File . size ( ::File . join ( dir , 'directory' , 'data.csv' ) )
291
+ end
292
+ end
293
+
294
+ test 'skip generating the preview in a zip file' do
295
+ crate = ROCrate ::Crate . new
296
+ crate . add_directory ( fixture_file ( 'directory' ) . path . to_s , 'fish' )
297
+
298
+ Tempfile . create do |file |
299
+ ROCrate ::Writer . new ( crate ) . write_zip ( file , skip_preview : true )
300
+
301
+ Zip ::File . open ( file ) do |zipfile |
302
+ assert zipfile . file . exist? ( ROCrate ::Metadata ::IDENTIFIER )
303
+ refute zipfile . file . exist? ( ROCrate ::Preview ::IDENTIFIER )
304
+ assert zipfile . file . exist? 'fish/info.txt'
305
+ assert zipfile . file . exist? 'fish/root.txt'
306
+ assert zipfile . file . exist? 'fish/data/info.txt'
307
+ assert zipfile . file . exist? 'fish/data/nested.txt'
308
+ assert zipfile . file . exist? 'fish/data/binary.jpg'
309
+ end
310
+ end
311
+ end
277
312
end
0 commit comments