assembly-objectfile 1.6.7 → 1.6.8

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.
@@ -4,137 +4,155 @@ describe Assembly::ObjectFile do
4
4
 
5
5
  it "should not run if no input file is passed in" do
6
6
  @ai=Assembly::ObjectFile.new('')
7
- lambda{@ai.filesize}.should raise_error
8
- lambda{@ai.sha1}.should raise_error
9
- lambda{@ai.md5}.should raise_error
7
+ expect{@ai.filesize}.to raise_error(RuntimeError,'input file does not exist')
8
+ expect{@ai.sha1}.to raise_error(RuntimeError,'input file does not exist')
9
+ expect{@ai.md5}.to raise_error(RuntimeError,'input file does not exist')
10
10
  end
11
11
 
12
12
  it "should return the common directory of a set of filenames passed into it, where the common part does not terminate on a directory" do
13
- Assembly::ObjectFile.common_path(['/Users/peter/00/test.tif','/Users/peter/05/test.jp2']).should == "/Users/peter/"
13
+ expect(Assembly::ObjectFile.common_path(['/Users/peter/00/test.tif','/Users/peter/05/test.jp2'])).to eq("/Users/peter/")
14
14
  end
15
15
 
16
16
  it "should return the common directory of a set of filenames passed into it, where the common part does not terminate on a directory" do
17
- Assembly::ObjectFile.common_path(['/Users/peter/00/test.tif','/Users/peter/00/test.jp2']).should == "/Users/peter/00/"
17
+ expect(Assembly::ObjectFile.common_path(['/Users/peter/00/test.tif','/Users/peter/00/test.jp2'])).to eq("/Users/peter/00/")
18
18
  end
19
19
 
20
20
  it "should tell us if an input file is an image" do
21
- File.exists?(TEST_TIF_INPUT_FILE).should be true
21
+ expect(File.exists?(TEST_TIF_INPUT_FILE)).to be true
22
22
  @ai = Assembly::ObjectFile.new(TEST_TIF_INPUT_FILE)
23
- @ai.image?.should == true
24
- @ai.exif.should_not be nil
25
- @ai.mimetype.should == 'image/tiff'
26
- @ai.file_mimetype.should == 'image/tiff'
27
- @ai.object_type.should == :image
28
- @ai.valid_image?.should == true
29
- @ai.jp2able?.should == true
23
+ expect(@ai.image?).to eq(true)
24
+ expect(@ai.exif).not_to be nil
25
+ expect(@ai.mimetype).to eq('image/tiff')
26
+ expect(@ai.file_mimetype).to eq('image/tiff')
27
+ expect(@ai.object_type).to eq(:image)
28
+ expect(@ai.valid_image?).to eq(true)
29
+ expect(@ai.jp2able?).to eq(true)
30
30
  end
31
31
 
32
32
  it "should tell us information about the input file" do
33
33
  @ai = Assembly::ObjectFile.new(TEST_TIF_INPUT_FILE)
34
- @ai.filename.should == "test.tif"
35
- @ai.ext.should == ".tif"
36
- @ai.filename_without_ext.should == "test"
37
- @ai.dirname.should == File.dirname(TEST_TIF_INPUT_FILE)
34
+ expect(@ai.filename).to eq("test.tif")
35
+ expect(@ai.ext).to eq(".tif")
36
+ expect(@ai.filename_without_ext).to eq("test")
37
+ expect(@ai.dirname).to eq(File.dirname(TEST_TIF_INPUT_FILE))
38
38
  end
39
39
 
40
40
  it "should give us the mimetype of a file even if the exif information is damaged" do
41
41
  @ai = Assembly::ObjectFile.new(TEST_FILE_NO_EXIF)
42
- @ai.filename.should == "file_with_no_exif.xml"
43
- @ai.ext.should == ".xml"
44
- ['text/html','application/xml'].include?(@ai.mimetype).should be true # we could get either of these mimetypes depending on the OS
42
+ expect(@ai.filename).to eq("file_with_no_exif.xml")
43
+ expect(@ai.ext).to eq(".xml")
44
+ expect(['text/html','application/xml'].include?(@ai.mimetype)).to be true # we could get either of these mimetypes depending on the OS
45
45
  end
46
46
 
47
47
  it "should give us the DPG base name for a file" do
48
48
  test_file=File.join(TEST_INPUT_DIR,'oo000oo0001_00_001.tif')
49
49
  @ai = Assembly::ObjectFile.new(test_file)
50
- @ai.dpg_basename.should == "oo000oo0001_001"
50
+ expect(@ai.dpg_basename).to eq("oo000oo0001_001")
51
51
  end
52
52
 
53
53
  it "should give us the DPG subfolder name for a file" do
54
54
  test_file=File.join(TEST_INPUT_DIR,'oo000oo0001_05_001.tif')
55
55
  @ai = Assembly::ObjectFile.new(test_file)
56
- @ai.dpg_folder.should == "05"
56
+ expect(@ai.dpg_folder).to eq("05")
57
57
  end
58
58
 
59
59
  it "should tell us that a jp2 file is not jp2able but does have a color profile" do
60
- File.exists?(TEST_JP2_INPUT_FILE).should be true
60
+ expect(File.exists?(TEST_JP2_INPUT_FILE)).to be true
61
61
  @ai = Assembly::ObjectFile.new(TEST_JP2_INPUT_FILE)
62
- @ai.image?.should == true
63
- @ai.object_type.should == :image
64
- @ai.valid_image?.should == true
65
- @ai.jp2able?.should == false
66
- @ai.has_color_profile?.should == true
62
+ expect(@ai.image?).to eq(true)
63
+ expect(@ai.object_type).to eq(:image)
64
+ expect(@ai.valid_image?).to eq(true)
65
+ expect(@ai.jp2able?).to eq(false)
66
+ expect(@ai.has_color_profile?).to eq(true)
67
67
  end
68
68
 
69
69
  it "should tell us that a tiff file is jp2able and has a color profile" do
70
- File.exists?(TEST_RES1_TIF1).should be true
70
+ expect(File.exists?(TEST_RES1_TIF1)).to be true
71
71
  @ai = Assembly::ObjectFile.new(TEST_RES1_TIF1)
72
- @ai.image?.should == true
73
- @ai.object_type.should == :image
74
- @ai.valid_image?.should == true
75
- @ai.jp2able?.should == true
76
- @ai.has_color_profile?.should == true
72
+ expect(@ai.image?).to eq(true)
73
+ expect(@ai.object_type).to eq(:image)
74
+ expect(@ai.valid_image?).to eq(true)
75
+ expect(@ai.jp2able?).to eq(true)
76
+ expect(@ai.has_color_profile?).to eq(true)
77
77
  end
78
78
 
79
79
  it "should tell us that a tiff file is not jp2able and is not valid since it has no profile" do
80
- File.exists?(TEST_TIFF_NO_COLOR_FILE).should be true
80
+ expect(File.exists?(TEST_TIFF_NO_COLOR_FILE)).to be true
81
81
  @ai = Assembly::ObjectFile.new(TEST_TIFF_NO_COLOR_FILE)
82
- @ai.image?.should == true
83
- @ai.object_type.should == :image
84
- @ai.valid_image?.should == true
85
- @ai.jp2able?.should == true
86
- @ai.has_color_profile?.should == false
82
+ expect(@ai.image?).to eq(true)
83
+ expect(@ai.object_type).to eq(:image)
84
+ expect(@ai.valid_image?).to eq(true)
85
+ expect(@ai.jp2able?).to eq(true)
86
+ expect(@ai.has_color_profile?).to eq(false)
87
87
  end
88
88
 
89
89
  it "should compute checksums for an image file" do
90
- File.exists?(TEST_TIF_INPUT_FILE).should be true
90
+ expect(File.exists?(TEST_TIF_INPUT_FILE)).to be true
91
91
  @ai = Assembly::ObjectFile.new(TEST_TIF_INPUT_FILE)
92
- @ai.md5.should == 'a2400500acf21e43f5440d93be894101'
93
- @ai.sha1.should == '8d11fab63089a24c8b17063d29a4b0eac359fb41'
92
+ expect(@ai.md5).to eq('a2400500acf21e43f5440d93be894101')
93
+ expect(@ai.sha1).to eq('8d11fab63089a24c8b17063d29a4b0eac359fb41')
94
94
  end
95
95
 
96
96
  it "should indicate that the file is not found when a valid directory is supplied instead of a file or when an invalid file path is specified" do
97
97
  path=Assembly::PATH_TO_GEM
98
98
  @ai = Assembly::ObjectFile.new(path)
99
- File.exists?(path).should be true
100
- File.directory?(path).should be true
101
- @ai.file_exists?.should be false
99
+ expect(File.exists?(path)).to be true
100
+ expect(File.directory?(path)).to be true
101
+ expect(@ai.file_exists?).to be false
102
102
 
103
103
  path=File.join(Assembly::PATH_TO_GEM,'bogus.txt')
104
104
  @ai = Assembly::ObjectFile.new(path)
105
- File.exists?(path).should be false
106
- File.directory?(path).should be false
107
- @ai.file_exists?.should be false
105
+ expect(File.exists?(path)).to be false
106
+ expect(File.directory?(path)).to be false
107
+ expect(@ai.file_exists?).to be false
108
+ end
109
+
110
+ it "should set attributes correctly when initializing" do
111
+ @ai = Assembly::ObjectFile.new('/some/file.txt')
112
+ expect(@ai.path).to eq('/some/file.txt')
113
+ expect(@ai.label).to be_nil
114
+ expect(@ai.file_attributes).to be_nil
115
+ expect(@ai.provider_sha1).to be_nil
116
+ expect(@ai.provider_md5).to be_nil
117
+ expect(@ai.relative_path).to be_nil
118
+
119
+ @ai = Assembly::ObjectFile.new('/some/file.txt',:label=>'some label',:file_attributes=>{'shelve'=>'yes','publish'=>'yes','preserve'=>'no'},:relative_path=>'/tmp')
120
+ expect(@ai.path).to eq('/some/file.txt')
121
+ expect(@ai.label).to eq('some label')
122
+ expect(@ai.file_attributes).to eq({'shelve'=>'yes','publish'=>'yes','preserve'=>'no'})
123
+ expect(@ai.provider_sha1).to be_nil
124
+ expect(@ai.provider_md5).to be_nil
125
+ expect(@ai.relative_path).to eq('/tmp')
108
126
  end
109
127
 
110
128
  it "should tell us if an input file is not an image" do
111
129
  non_image_file=File.join(Assembly::PATH_TO_GEM,'spec/object_file_spec.rb')
112
- File.exists?(non_image_file).should be true
130
+ expect(File.exists?(non_image_file)).to be true
113
131
  @ai = Assembly::ObjectFile.new(non_image_file)
114
- @ai.image?.should == false
115
- @ai.object_type.should_not == :image
116
- @ai.valid_image?.should == false
132
+ expect(@ai.image?).to eq(false)
133
+ expect(@ai.object_type).not_to eq(:image)
134
+ expect(@ai.valid_image?).to eq(false)
117
135
 
118
136
  non_image_file=File.join(Assembly::PATH_TO_GEM,'README.rdoc')
119
- File.exists?(non_image_file).should be true
137
+ expect(File.exists?(non_image_file)).to be true
120
138
  @ai = Assembly::ObjectFile.new(non_image_file)
121
- @ai.image?.should == false
122
- @ai.object_type.should == :other
123
- @ai.valid_image?.should == false
139
+ expect(@ai.image?).to eq(false)
140
+ expect(@ai.object_type).to eq(:other)
141
+ expect(@ai.valid_image?).to eq(false)
124
142
  end
125
143
 
126
144
  it "should tell us the size of an input file" do
127
- File.exists?(TEST_TIF_INPUT_FILE).should be true
145
+ expect(File.exists?(TEST_TIF_INPUT_FILE)).to be true
128
146
  @ai = Assembly::ObjectFile.new(TEST_TIF_INPUT_FILE)
129
- @ai.filesize.should == 63542
147
+ expect(@ai.filesize).to eq(63542)
130
148
  end
131
149
 
132
150
  it "should tell us the mimetype and encoding of an input file" do
133
- File.exists?(TEST_TIF_INPUT_FILE).should be true
151
+ expect(File.exists?(TEST_TIF_INPUT_FILE)).to be true
134
152
  @ai = Assembly::ObjectFile.new(TEST_TIF_INPUT_FILE)
135
- @ai.mimetype.should == 'image/tiff'
136
- @ai.file_mimetype.should == 'image/tiff'
137
- @ai.encoding.should == 'binary'
153
+ expect(@ai.mimetype).to eq('image/tiff')
154
+ expect(@ai.file_mimetype).to eq('image/tiff')
155
+ expect(@ai.encoding).to eq('binary')
138
156
  end
139
157
 
140
158
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,10 @@
1
1
  bootfile = File.expand_path(File.dirname(__FILE__) + '/../config/boot')
2
2
  require bootfile
3
3
 
4
+ RSpec.configure do |config|
5
+ config.order = 'random'
6
+ end
7
+
4
8
  TEST_DATA_DIR = File.join(Assembly::PATH_TO_GEM,'spec','test_data')
5
9
  TEST_INPUT_DIR = File.join(TEST_DATA_DIR,'input')
6
10
  TEST_OUTPUT_DIR = File.join(TEST_DATA_DIR,'output')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assembly-objectfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.7
4
+ version: 1.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico
@@ -9,9 +9,9 @@ authors:
9
9
  - Monty Hindman
10
10
  - Tony Calavano
11
11
  autorequire:
12
- bindir: bin
12
+ bindir: exe
13
13
  cert_chain: []
14
- date: 2016-10-03 00:00:00.000000000 Z
14
+ date: 2016-11-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: mini_exiftool
@@ -89,14 +89,14 @@ dependencies:
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '2.6'
92
+ version: '3.0'
93
93
  type: :development
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: '2.6'
99
+ version: '3.0'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: yard
102
102
  requirement: !ruby/object:Gem::Requirement
@@ -114,9 +114,7 @@ dependencies:
114
114
  description: Get exif data, file sizes and more.
115
115
  email:
116
116
  - pmangiafico@stanford.edu
117
- executables:
118
- - console
119
- - run_all_tests
117
+ executables: []
120
118
  extensions: []
121
119
  extra_rdoc_files: []
122
120
  files:
@@ -195,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
193
  version: '0'
196
194
  requirements: []
197
195
  rubyforge_project: assembly-objectfile
198
- rubygems_version: 2.4.5.1
196
+ rubygems_version: 2.6.7
199
197
  signing_key:
200
198
  specification_version: 4
201
199
  summary: Ruby immplementation of file services needed to prepare objects to be accessioned
@@ -237,3 +235,4 @@ test_files:
237
235
  - spec/test_data/input/test2.jp2
238
236
  - spec/test_data/input/test2.tif
239
237
  - spec/test_data/input/test_no_color_profile.tif
238
+ has_rdoc: