mini_exiftool 2.11.0 → 2.12.0

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.
Binary file
Binary file
Binary file
@@ -1,25 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'mini_exiftool'
3
- require 'test/unit'
4
- require 'fileutils'
5
- require 'tempfile'
6
- require 'yaml'
7
-
8
- include Test::Unit
9
-
10
- module TempfileTest
11
- def setup
12
- @temp_file = Tempfile.new('test')
13
- @temp_filename = @temp_file.path
14
- @data_dir = File.dirname(__FILE__) + '/data'
15
- end
16
-
17
- def teardown
18
- @temp_file.close
19
- end
20
-
21
- def assert_md5 md5, filename
22
- assert_equal md5, Digest::MD5.hexdigest(File.read(filename))
23
- end
24
-
25
- end
@@ -1,29 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestBadPreviewIFD < TestCase
5
-
6
- include TempfileTest
7
-
8
- def setup
9
- super
10
- @org_filename = @data_dir + '/Bad_PreviewIFD.jpg'
11
- FileUtils.cp @org_filename, @temp_filename
12
- @bad_preview_ifd = MiniExiftool.new @temp_filename
13
- end
14
-
15
- # Feature request rubyforge [#29587]
16
- # Thanks to Michael Grove for reporting
17
- def test_m_option
18
- title = 'anything'
19
- @bad_preview_ifd.title = title
20
- assert_equal false, @bad_preview_ifd.save, '-m option seems to be not neccessary'
21
- @bad_preview_ifd.reload
22
- @bad_preview_ifd.title = title
23
- @bad_preview_ifd.ignore_minor_errors = true
24
- assert_equal true, @bad_preview_ifd.save, 'Error while saving'
25
- @bad_preview_ifd.reload
26
- assert_equal title, @bad_preview_ifd.title
27
- end
28
-
29
- end
@@ -1,80 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestClassMethods < TestCase
5
-
6
- def test_new
7
- assert_nothing_raised do
8
- @mini_exiftool = MiniExiftool.new
9
- end
10
- assert_equal nil, @mini_exiftool.filename
11
- assert_nothing_raised do
12
- MiniExiftool.new nil
13
- end
14
- assert_raises MiniExiftool::Error do
15
- MiniExiftool.new false
16
- end
17
- assert_raises MiniExiftool::Error do
18
- MiniExiftool.new ''
19
- end
20
- assert_raises MiniExiftool::Error do
21
- MiniExiftool.new 'not_existing_file'
22
- end
23
- assert_raises MiniExiftool::Error do
24
- MiniExiftool.new '.' # directory
25
- end
26
- begin
27
- MiniExiftool.new 'not_existing_file'
28
- rescue MiniExiftool::Error => e
29
- assert_match /File 'not_existing_file' does not exist/, e.message
30
- end
31
- end
32
-
33
- def test_command
34
- cmd = MiniExiftool.command
35
- assert_equal 'exiftool', cmd
36
- MiniExiftool.command = 'non_existend'
37
- assert_equal 'non_existend', MiniExiftool.command
38
- assert_raises MiniExiftool::Error do
39
- met = MiniExiftool.new(File.join(File.dirname(__FILE__),
40
- 'data/test.jpg'))
41
- end
42
- MiniExiftool.command = cmd
43
- end
44
-
45
- def test_opts
46
- opts = MiniExiftool.opts
47
- assert_kind_of Hash, opts
48
- begin
49
- org = MiniExiftool.opts[:composite]
50
- met1 = MiniExiftool.new
51
- MiniExiftool.opts[:composite] = !org
52
- met2 = MiniExiftool.new
53
- MiniExiftool.opts[:composite] = org
54
- met3 = MiniExiftool.new
55
- assert_equal org, met1.composite
56
- assert_equal !org, met2.composite
57
- assert_equal org, met1.composite
58
- ensure
59
- MiniExiftool.opts[:composite] = org
60
- end
61
- end
62
-
63
- def test_all_tags
64
- all_tags = MiniExiftool.all_tags
65
- assert all_tags.include?('ISO')
66
- assert all_tags.include?('ExifToolVersion')
67
- end
68
-
69
- def test_writable_tags
70
- w_tags = MiniExiftool.writable_tags
71
- assert w_tags.include?('ISO')
72
- assert ! w_tags.include?('ExifToolVersion')
73
- end
74
-
75
- def test_exiftool_version
76
- v = MiniExiftool.exiftool_version
77
- assert_match /\A\d+\.\d+\z/, v
78
- end
79
-
80
- end
@@ -1,19 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestComposite < TestCase
5
-
6
- def setup
7
- @data_dir = File.dirname(__FILE__) + '/data'
8
- @filename_test = @data_dir + '/test.jpg'
9
- @mini_exiftool = MiniExiftool.new @filename_test, :composite => false
10
- @mini_exiftool_c = MiniExiftool.new @filename_test
11
- end
12
-
13
- def test_composite_tags
14
- assert_equal false, @mini_exiftool.tags.include?('Aperture')
15
- assert_equal true, @mini_exiftool_c.tags.include?('Aperture')
16
- assert_equal 9.5, @mini_exiftool_c['Aperture']
17
- end
18
-
19
- end
@@ -1,55 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestCopyTagsFrom < TestCase
5
-
6
- include TempfileTest
7
-
8
- def setup
9
- super
10
- @canon_filename = @data_dir + '/Canon.jpg'
11
- FileUtils.cp(@canon_filename, @temp_filename)
12
- @mini_exiftool = MiniExiftool.new(@temp_filename)
13
- @source_filename = @data_dir + '/test.jpg'
14
- @canon_md5 = Digest::MD5.hexdigest(File.read(@canon_filename))
15
- @source_md5 = Digest::MD5.hexdigest(File.read(@source_filename))
16
- end
17
-
18
- def test_single_tag
19
- assert_nil @mini_exiftool.title
20
- res = @mini_exiftool.copy_tags_from(@source_filename, :title)
21
- assert res
22
- assert_equal 'Abenddämmerung', @mini_exiftool.title
23
- assert_md5 @source_md5, @source_filename
24
- end
25
-
26
- def test_more_than_one_tag
27
- assert_nil @mini_exiftool.title
28
- assert_nil @mini_exiftool.keywords
29
- res = @mini_exiftool.copy_tags_from(@source_filename, %w[title keywords])
30
- assert res
31
- assert_equal 'Abenddämmerung', @mini_exiftool.title
32
- assert_equal %w[Orange Rot], @mini_exiftool.keywords
33
- assert_md5 @source_md5, @source_filename
34
- end
35
-
36
- def test_non_existing_sourcefile
37
- assert_raises MiniExiftool::Error do
38
- @mini_exiftool.copy_tags_from('non_existend_file', :title)
39
- end
40
- assert_md5 @source_md5, @source_filename
41
- end
42
-
43
- def test_non_existend_tag
44
- @mini_exiftool.copy_tags_from(@source_filename, :non_existend_tag)
45
- assert_md5 @canon_md5, @canon_filename
46
- assert_md5 @source_md5, @source_filename
47
- end
48
-
49
- def test_non_writable_tag
50
- @mini_exiftool.copy_tags_from(@source_filename, 'JFIF')
51
- assert_md5 @canon_md5, @canon_filename
52
- assert_md5 @source_md5, @source_filename
53
- end
54
-
55
- end
data/test/test_dumping.rb DELETED
@@ -1,80 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestDumping < TestCase
5
-
6
- def setup
7
- @data_dir = File.dirname(__FILE__) + '/data'
8
- @filename_test = @data_dir + '/test.jpg'
9
- @mini_exiftool = MiniExiftool.new @filename_test
10
- end
11
-
12
- def test_to_hash
13
- hash = @mini_exiftool.to_hash
14
- assert_equal Hash, hash.class
15
- assert_equal @mini_exiftool.tags.size, hash.size, 'Size of Hash is not correct.'
16
- assert_not_nil hash['ExifToolVersion'], 'Original name of exiftool tag is not preserved.'
17
- all_ok = true
18
- different_tag = ''
19
- v = ''
20
- hash.each do |k,v|
21
- unless @mini_exiftool[k] == v
22
- all_ok = false
23
- different_tag = k
24
- break
25
- end
26
- end
27
- assert all_ok, "Tag #{different_tag.inspect}: expected: #{@mini_exiftool[different_tag].inspect}, actual: #{v.inspect}"
28
- end
29
-
30
- def test_from_hash
31
- hash = @mini_exiftool.to_hash
32
- mini_exiftool_new = MiniExiftool.from_hash hash
33
- assert_equal MiniExiftool, mini_exiftool_new.class
34
- assert_equal @mini_exiftool.tags.size, mini_exiftool_new.tags.size
35
- all_ok = true
36
- different_tag = ''
37
- @mini_exiftool.tags.each do |tag|
38
- unless @mini_exiftool[tag] == mini_exiftool_new[tag]
39
- all_ok = false
40
- different_tag = tag
41
- break
42
- end
43
- end
44
- assert all_ok, "Tag #{different_tag.inspect}: expected: #{@mini_exiftool[different_tag].inspect}, actual: #{mini_exiftool_new[different_tag].inspect}"
45
-
46
- end
47
-
48
- def test_to_yaml
49
- hash = @mini_exiftool.to_hash
50
- yaml = @mini_exiftool.to_yaml
51
- assert_equal hash, YAML.unsafe_load(yaml)
52
- end
53
-
54
- def test_from_yaml
55
- hash = @mini_exiftool.to_hash
56
- yaml = hash.to_yaml
57
- mini_exiftool_new = MiniExiftool.from_yaml(yaml)
58
- assert_equal MiniExiftool, mini_exiftool_new.class
59
- assert_equal hash, mini_exiftool_new.to_hash
60
- end
61
-
62
- def test_heuristics_for_restoring_composite
63
- standard = @mini_exiftool.to_hash
64
- no_composite = MiniExiftool.new(@filename_test, :composite => false).to_hash
65
- assert_equal true, MiniExiftool.from_hash(standard).composite
66
- assert_equal false, MiniExiftool.from_hash(no_composite).composite
67
- assert_equal true, MiniExiftool.from_yaml(standard.to_yaml).composite
68
- assert_equal false, MiniExiftool.from_yaml(no_composite.to_yaml).composite
69
- end
70
-
71
- def test_heuristics_for_restoring_numerical
72
- standard = @mini_exiftool.to_hash
73
- numerical = MiniExiftool.new(@filename_test, :numerical => true).to_hash
74
- assert_equal false, MiniExiftool.from_hash(standard).numerical
75
- assert_equal true, MiniExiftool.from_hash(numerical).numerical
76
- assert_equal false, MiniExiftool.from_yaml(standard.to_yaml).numerical
77
- assert_equal true, MiniExiftool.from_yaml(numerical.to_yaml).numerical
78
- end
79
-
80
- end
@@ -1,30 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestEncodings < TestCase
5
-
6
- include TempfileTest
7
-
8
- def setup
9
- super
10
- @data_dir = File.dirname(__FILE__) + '/data'
11
- @filename_test = @data_dir + '/test_encodings.jpg'
12
- @mini_exiftool = MiniExiftool.new @filename_test
13
- end
14
-
15
- def test_iptc_encoding
16
- object_name = "Möhre"
17
- assert_not_equal object_name, @mini_exiftool.object_name
18
- correct_iptc = MiniExiftool.new(@filename_test, iptc_encoding: 'MacRoman')
19
- assert_equal object_name, correct_iptc.object_name
20
- FileUtils.cp(@filename_test, @temp_filename)
21
- correct_iptc_write = MiniExiftool.new(@temp_filename, iptc_encoding: 'MacRoman')
22
- caption = 'Das ist eine Möhre'
23
- correct_iptc_write.caption_abstract = caption
24
- correct_iptc_write.save!
25
- correct_iptc_write.reload
26
- assert_equal object_name, correct_iptc_write.object_name
27
- assert_equal caption, correct_iptc_write.caption_abstract
28
- end
29
-
30
- end
@@ -1,60 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
- require 'rbconfig'
4
- require 'tmpdir'
5
-
6
- # Thanks to uwe58 and others for hints
7
-
8
- class TestFilenameAccess < TestCase
9
-
10
- @@running_on_windows = /mswin|mingw|cygwin/ === RbConfig::CONFIG['host_os']
11
-
12
- @@fs_enc = Encoding.find('filesystem')
13
-
14
- def create_testfile(basename_new)
15
- tmpdir = Dir.tmpdir
16
- filename_org = File.join(File.dirname(__FILE__), 'data/test.jpg')
17
- filename_new = File.join(tmpdir, basename_new)
18
- FileUtils.cp filename_org, filename_new.encode(@@fs_enc)
19
- filename_new
20
- end
21
-
22
- def do_testing_with(basename)
23
- filename_test = create_testfile(basename)
24
- # read
25
- m = MiniExiftool.new filename_test
26
- assert_equal 400, m.iso
27
- # save
28
- m.iso = 200
29
- m.save
30
- assert_equal 200, m.iso
31
- # Check original filename maybe with other encoding than filesystem
32
- assert_equal basename, File.basename(m.filename)
33
- rescue Exception => e
34
- assert false, "File #{filename_test.inspect} not found!"
35
- end
36
-
37
- def test_access_filename_with_spaces
38
- do_testing_with 'filename with spaces.jpg'
39
- end
40
-
41
- def test_access_filename_with_special_chars
42
- do_testing_with 'filename_with_Ümläüts.jpg'
43
- end
44
-
45
- unless @@running_on_windows
46
- def test_access_filename_with_doublequotes
47
- do_testing_with 'filename_with_"doublequotes"_inside.jpg'
48
- end
49
- end
50
-
51
- def test_access_filename_with_dollar_sign
52
- # Thanks to Michael Dungan for the hint
53
- do_testing_with 'filename_with_$_sign.jpg'
54
- end
55
-
56
- def test_access_filename_with_ampersand
57
- do_testing_with 'filename_with_&_sign.jpg'
58
- end
59
-
60
- end
@@ -1,22 +0,0 @@
1
- require 'helpers_for_test'
2
- require 'json'
3
-
4
- class TestFromHash < TestCase
5
- def setup
6
- @data_dir = File.dirname(__FILE__) + '/data'
7
- hash_data = JSON.parse(File.read( @data_dir + '/test.jpg.json')).first
8
- @mini_exiftool = MiniExiftool.from_hash hash_data
9
- end
10
-
11
- def test_conversion
12
- assert_kind_of String, @mini_exiftool.model
13
- assert_kind_of Time, @mini_exiftool['DateTimeOriginal']
14
- assert_kind_of Float, @mini_exiftool['MaxApertureValue']
15
- assert_kind_of String, @mini_exiftool.flash
16
- assert_kind_of Integer, @mini_exiftool['ExposureCompensation']
17
- assert_kind_of String, (@mini_exiftool['SubjectLocation'] || @mini_exiftool['SubjectArea'])
18
- assert_kind_of Array, @mini_exiftool['Keywords']
19
- assert_kind_of String, @mini_exiftool['SupplementalCategories']
20
- assert_kind_of Rational, @mini_exiftool.shutterspeed
21
- end
22
- end
@@ -1,24 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestRead < TestCase
5
-
6
- def setup
7
- @data_dir = File.dirname(__FILE__) + '/data'
8
- @filename_test = @data_dir + '/test.jpg'
9
- @mini_exiftool = MiniExiftool.new @filename_test
10
- end
11
-
12
- def test_respond_to_missing
13
- assert_true @mini_exiftool.respond_to?(:iso), 'instance should respond to iso because it has a value for ISO'
14
- assert_true @mini_exiftool.respond_to?('iso'), 'instance should respond to iso because it has a value for ISO'
15
- assert_true @mini_exiftool.respond_to?('ISO'), 'instance should respond to ISO because it has a value for ISO'
16
- assert_true @mini_exiftool.respond_to?(:iso=), 'instance should respond to iso= because all setters are allowed'
17
- assert_true @mini_exiftool.respond_to?('iso='), 'instance should respond to iso= because all setters are allowed'
18
- assert_true @mini_exiftool.respond_to?('ISO='), 'instance should respond to ISO= because all setters are allowed'
19
- assert_false @mini_exiftool.respond_to?(:comment), 'instance should not respond to comment because it has no value for Comment'
20
- assert_false @mini_exiftool.respond_to?('comment'), 'instance should not respond to comment because it has no value for Comment'
21
- assert_false @mini_exiftool.respond_to?('Comment'), 'instance should not respond to Comment because it has no value for Comment'
22
- end
23
-
24
- end
@@ -1,29 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
- require 'json'
4
-
5
- # Thanks to Chris Salzberg (aka shioyama) and
6
- # Robert May (aka robotmay) for precious hints
7
-
8
- class TestInvalidByteSequenceInUtf8 < TestCase
9
-
10
- def setup
11
- @json = File.read(File.dirname(__FILE__) + '/data/invalid_byte_sequence_in_utf8.json')
12
- end
13
-
14
- def test_invalid_byte_sequence_gets_unconverted_value_with_invalid_encoding
15
- omit 'Java version of json gem can not handle invalid encoded data' if RUBY_PLATFORM == 'java'
16
- assert_nothing_raised do
17
- mini_exiftool = MiniExiftool.from_json(@json)
18
- assert_equal 1561, mini_exiftool.color_balance_unknown.size
19
- end
20
- end
21
-
22
- def test_replace_invalid_chars
23
- assert_nothing_raised do
24
- mini_exiftool = MiniExiftool.from_json(@json, :replace_invalid_chars => '')
25
- assert_equal 1036, mini_exiftool.color_balance_unknown.size
26
- end
27
- end
28
-
29
- end
@@ -1,13 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestInvalidRational < TestCase
5
-
6
- def test_rescue_from_invalid_rational
7
- mini_exiftool = MiniExiftool.from_json(File.read('test/data/invalid_rational.json'))
8
- assert_equal '1/0', mini_exiftool.user_comment
9
- rescue Exception
10
- assert false, 'Tag values of the form x/0 should not raise an Exception.'
11
- end
12
-
13
- end
data/test/test_io.rb DELETED
@@ -1,67 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
- require 'stringio'
4
-
5
- class TestIo < TestCase
6
-
7
- def test_simple_case
8
- io = open_real_io
9
- mini_exiftool = MiniExiftool.new(io)
10
- assert_equal false, io.closed?, 'IO should not be closed.'
11
- assert_equal 400, mini_exiftool.iso
12
- end
13
-
14
- def test_non_readable_io
15
- assert_raises MiniExiftool::Error do
16
- begin
17
- MiniExiftool.new($stdout)
18
- rescue MiniExiftool::Error => e
19
- assert_equal 'IO is not readable.', e.message
20
- raise e
21
- end
22
- end
23
- end
24
-
25
- def test_no_writing_when_using_io
26
- io = open_real_io
27
- m = MiniExiftool.new(io)
28
- m.iso = 100
29
- assert_raises MiniExiftool::Error do
30
- begin
31
- m.save
32
- rescue MiniExiftool::Error => e
33
- assert_equal 'No writing support when using an IO.', e.message
34
- raise e
35
- end
36
- end
37
- end
38
-
39
- def test_fast_options
40
- $DEBUG = true
41
- s = StringIO.new
42
- $stderr = s
43
- MiniExiftool.new open_real_io
44
- s.rewind
45
- assert_match /^exiftool -j "-"$/, s.read
46
- s = StringIO.new
47
- $stderr = s
48
- MiniExiftool.new open_real_io, :fast => true
49
- s.rewind
50
- assert_match /^exiftool -j -fast "-"$/, s.read
51
- s = StringIO.new
52
- $stderr = s
53
- MiniExiftool.new open_real_io, :fast2 => true
54
- s.rewind
55
- assert_match /^exiftool -j -fast2 "-"$/, s.read
56
- ensure
57
- $DEBUG = false
58
- $stderr = STDERR
59
- end
60
-
61
- protected
62
-
63
- def open_real_io
64
- File.open(File.join(File.dirname(__FILE__), 'data', 'test.jpg'), 'r')
65
- end
66
-
67
- end
data/test/test_pstore.rb DELETED
@@ -1,37 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestPstore < TestCase
5
-
6
- def test_pstore
7
- pstore_dir = Dir.mktmpdir
8
- writable_tags = MiniExiftool.writable_tags
9
- res = execute(pstore_dir)
10
- t1 = res['time']
11
- assert_equal writable_tags, res['writable_tags']
12
- assert_equal 1, Dir[File.join(pstore_dir, '*')].size
13
- res = execute(pstore_dir)
14
- t2 = res['time']
15
- assert_equal writable_tags, res['writable_tags']
16
- assert t2 < 1.0, format('loading cached tag information should be done in under 1 second but needed %.2fs', t2)
17
- assert 10 * t2 < t1, format('loading cached tag information (%.2fs) should be 10 times faster than loading uncached information (%.2fs)', t2, t1)
18
- ensure
19
- FileUtils.rm_rf pstore_dir
20
- end
21
-
22
- private
23
-
24
- def execute pstore_dir
25
- script = <<-END
26
- MiniExiftool.pstore_dir = '#{pstore_dir}'
27
- res = {}
28
- start = Time.now
29
- res['writable_tags'] = MiniExiftool.writable_tags
30
- res['time'] = Time.now - start
31
- puts YAML.dump res
32
- END
33
- cmd = %Q(#{RUBY_ENGINE} -EUTF-8 -I lib -r mini_exiftool -r yaml -e "#{script}")
34
- YAML.unsafe_load(`#{cmd}`)
35
- end
36
-
37
- end
data/test/test_read.rb DELETED
@@ -1,49 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestRead < TestCase
5
-
6
- def setup
7
- @data_dir = File.dirname(__FILE__) + '/data'
8
- @filename_test = @data_dir + '/test.jpg'
9
- @mini_exiftool = MiniExiftool.new @filename_test
10
- end
11
-
12
- def test_access
13
- assert_equal 'DYNAX 7D', @mini_exiftool['Model']
14
- assert_equal 'MLT0', @mini_exiftool['maker_note_version']
15
- assert_equal 'MLT0', @mini_exiftool[:MakerNoteVersion]
16
- assert_equal 'MLT0', @mini_exiftool[:maker_note_version]
17
- assert_equal 'MLT0', @mini_exiftool.maker_note_version
18
- assert_equal 400, @mini_exiftool.iso
19
- end
20
-
21
- def test_tags
22
- assert @mini_exiftool.tags.include?('FileSize')
23
- end
24
-
25
- def test_conversion
26
- assert_kind_of String, @mini_exiftool.model
27
- assert_kind_of Time, @mini_exiftool['DateTimeOriginal']
28
- assert_kind_of Float, @mini_exiftool['MaxApertureValue']
29
- assert_kind_of String, @mini_exiftool.flash
30
- assert_kind_of Integer, @mini_exiftool['ExposureCompensation']
31
- assert_kind_of String, (@mini_exiftool['SubjectLocation'] || @mini_exiftool['SubjectArea'])
32
- assert_kind_of Array, @mini_exiftool['Keywords']
33
- assert_kind_of String, @mini_exiftool['SupplementalCategories']
34
- assert_kind_of Rational, @mini_exiftool.shutterspeed
35
- end
36
-
37
- def test_list_tags
38
- assert_equal ['Orange', 'Rot'], @mini_exiftool['Keywords']
39
- assert_equal 'Natur', @mini_exiftool['SupplementalCategories']
40
- assert_equal ['Natur'], Array(@mini_exiftool['SupplementalCategories'])
41
- end
42
-
43
- def test_value_encoding
44
- title= 'Abenddämmerung'
45
- assert_equal Encoding::UTF_8, @mini_exiftool.title.encoding
46
- assert_equal title, @mini_exiftool.title
47
- end
48
-
49
- end
@@ -1,18 +0,0 @@
1
- # -- encoding: utf-8 --
2
- require 'helpers_for_test'
3
-
4
- class TestReadCoordinates < TestCase
5
-
6
- def setup
7
- @data_dir = File.dirname(__FILE__) + '/data'
8
- @filename_test = @data_dir + '/test_coordinates.jpg'
9
- end
10
-
11
- def test_access_coordinates
12
- mini_exiftool_coord = MiniExiftool.new @filename_test, :coord_format => "%.6f degrees"
13
- assert_match /^43.653167 degrees/, mini_exiftool_coord['GPSLatitude']
14
- assert_match /^79.373167 degrees/, mini_exiftool_coord['GPSLongitude']
15
- assert_match /^43.653167 degrees.*, 79.373167 degrees/, mini_exiftool_coord['GPSPosition']
16
- end
17
-
18
- end