stickyflag 0.3.0 → 0.3.1
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/TODO.md +2 -1
- data/lib/stickyflag/version.rb +1 -1
- data/stickyflag.gemspec +5 -4
- metadata +8 -116
- data/.gitignore +0 -7
- data/.rspec +0 -4
- data/.simplecov +0 -9
- data/.travis.yml +0 -13
- data/features/clear.feature +0 -14
- data/features/clear_quietly.feature +0 -23
- data/features/configuration.feature +0 -14
- data/features/get.feature +0 -14
- data/features/get_quietly.feature +0 -23
- data/features/set.feature +0 -14
- data/features/set_quietly.feature +0 -22
- data/features/step_definitions/configuration_steps.rb +0 -31
- data/features/step_definitions/database_steps.rb +0 -41
- data/features/step_definitions/pending_steps.rb +0 -5
- data/features/step_definitions/tag_steps.rb +0 -62
- data/features/support/cukegem.rb +0 -82
- data/features/support/env.rb +0 -37
- data/features/tags.feature +0 -18
- data/features/unset.feature +0 -14
- data/features/unset_quietly.feature +0 -23
- data/spec/spec_helper.rb +0 -22
- data/spec/stickyflag/configuration_spec.rb +0 -132
- data/spec/stickyflag/database_spec.rb +0 -331
- data/spec/stickyflag/external_cmds_spec.rb +0 -175
- data/spec/stickyflag/patches/tempfile_encoding_spec.rb +0 -26
- data/spec/stickyflag/patches/tmpnam_spec.rb +0 -35
- data/spec/stickyflag/paths_spec.rb +0 -29
- data/spec/stickyflag/tag_factory_spec.rb +0 -126
- data/spec/stickyflag/tags/c_spec.rb +0 -14
- data/spec/stickyflag/tags/mkv_spec.rb +0 -54
- data/spec/stickyflag/tags/mmd_spec.rb +0 -40
- data/spec/stickyflag/tags/pdf_spec.rb +0 -39
- data/spec/stickyflag/tags/png_spec.rb +0 -6
- data/spec/stickyflag/tags/tex_spec.rb +0 -6
- data/spec/stickyflag_spec.rb +0 -482
- data/spec/support/examples.rb +0 -32
- data/spec/support/examples/c_all_comments.c +0 -3
- data/spec/support/examples/c_no_tags.c +0 -5
- data/spec/support/examples/c_with_tag.c +0 -6
- data/spec/support/examples/mkv_no_tags.mkv +0 -0
- data/spec/support/examples/mkv_with_tag.mkv +0 -0
- data/spec/support/examples/mmd_all_meta.mmd +0 -6
- data/spec/support/examples/mmd_crazy_keys.mmd +0 -8
- data/spec/support/examples/mmd_crazy_tags.mmd +0 -9
- data/spec/support/examples/mmd_no_tags.mmd +0 -1
- data/spec/support/examples/mmd_with_tag.mmd +0 -3
- data/spec/support/examples/pdf_no_tags.pdf +0 -0
- data/spec/support/examples/pdf_with_tag.pdf +0 -0
- data/spec/support/examples/png_no_tags.png +0 -0
- data/spec/support/examples/png_with_tag.png +0 -0
- data/spec/support/examples/tex_no_tags.tex +0 -10
- data/spec/support/examples/tex_with_tag.tex +0 -11
- data/spec/support/examples/untaggable.txt +0 -0
- data/spec/support/run_with_args.rb +0 -36
- data/spec/support/silence_stream.rb +0 -12
- data/spec/support/tag_handler_behavior.rb +0 -125
@@ -1,175 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'tmpdir'
|
3
|
-
require 'thor'
|
4
|
-
require 'stickyflag/paths'
|
5
|
-
require 'stickyflag/configuration'
|
6
|
-
require 'stickyflag/external_cmds'
|
7
|
-
|
8
|
-
class ExternalCmdsTester < Thor
|
9
|
-
include StickyFlag::Paths
|
10
|
-
include StickyFlag::Configuration
|
11
|
-
include StickyFlag::ExternalCmds
|
12
|
-
end
|
13
|
-
|
14
|
-
describe 'StickyFlag::ExternalCmds' do
|
15
|
-
# We want to handle the path manually here
|
16
|
-
def add_to_path(file_name)
|
17
|
-
ENV['PATH'] = Dir.tmpdir
|
18
|
-
|
19
|
-
path = File.join(Dir.tmpdir, file_name)
|
20
|
-
File.open(path, 'w:UTF-8') { |f| f.write('test') }
|
21
|
-
File.chmod(0755, path)
|
22
|
-
|
23
|
-
@files_to_delete << path
|
24
|
-
end
|
25
|
-
|
26
|
-
before(:each) do
|
27
|
-
@files_to_delete = []
|
28
|
-
@old_path = ENV['PATH']
|
29
|
-
ENV['PATH'] = ''
|
30
|
-
end
|
31
|
-
|
32
|
-
after(:each) do
|
33
|
-
ENV['PATH'] = @old_path
|
34
|
-
@files_to_delete.each { |f| File.delete f }
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '.find_external_cmds' do
|
38
|
-
describe 'with no configuration set, no pdftk' do
|
39
|
-
before(:each) do
|
40
|
-
@obj = ExternalCmdsTester.new
|
41
|
-
@obj.stub(:load_config!) { }
|
42
|
-
@obj.stub(:save_config!) { }
|
43
|
-
|
44
|
-
@obj.set_config :pdftk_path, ''
|
45
|
-
@obj.set_config :have_pdftk, false
|
46
|
-
end
|
47
|
-
|
48
|
-
it 'sets have_pdftk to false' do
|
49
|
-
@obj.find_external_cmds
|
50
|
-
@obj.get_config(:have_pdftk).should eq(false)
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'outputs a warning message' do
|
54
|
-
@obj.should_receive(:say_status).with(:warning, kind_of(String), kind_of(Symbol)).at_least(:once)
|
55
|
-
@obj.find_external_cmds
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe 'with no configuration set, with pdftk' do
|
60
|
-
before(:each) do
|
61
|
-
@obj = ExternalCmdsTester.new
|
62
|
-
@obj.stub(:load_config!) { }
|
63
|
-
@obj.stub(:save_config!) { }
|
64
|
-
|
65
|
-
@obj.set_config :pdftk_path, ''
|
66
|
-
@obj.set_config :have_pdftk, false
|
67
|
-
|
68
|
-
add_to_path('pdftk')
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'sets have_pdftk to true' do
|
72
|
-
@obj.find_external_cmds
|
73
|
-
@obj.get_config(:have_pdftk).should eq(true)
|
74
|
-
end
|
75
|
-
|
76
|
-
it 'sets the right pdftk path' do
|
77
|
-
@obj.find_external_cmds
|
78
|
-
|
79
|
-
path = File.expand_path(File.join(Dir.tmpdir, 'pdftk'))
|
80
|
-
@obj.get_config(:pdftk_path).should eq(path)
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'should not print any messages' do
|
84
|
-
@obj.should_not_receive(:say).with(/pdftk/)
|
85
|
-
@obj.should_not_receive(:say_status).with(:warning, /pdftk/, kind_of(Symbol))
|
86
|
-
@obj.find_external_cmds
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
describe 'with configuration set, non-executable pdftk' do
|
91
|
-
before(:each) do
|
92
|
-
@obj = ExternalCmdsTester.new
|
93
|
-
@obj.stub(:load_config!) { }
|
94
|
-
@obj.stub(:save_config!) { }
|
95
|
-
|
96
|
-
@obj.set_config :pdftk_path, __FILE__
|
97
|
-
@obj.set_config :have_pdftk, true
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'resets have_pdftk to false' do
|
101
|
-
@obj.find_external_cmds
|
102
|
-
@obj.get_config(:have_pdftk).should be(false)
|
103
|
-
end
|
104
|
-
|
105
|
-
it 'unsets the pdftk path' do
|
106
|
-
@obj.find_external_cmds
|
107
|
-
@obj.get_config(:pdftk_path).should eq('')
|
108
|
-
end
|
109
|
-
|
110
|
-
it 'prints out an error message' do
|
111
|
-
@obj.stub(:say_status) {}
|
112
|
-
@obj.should_receive(:say_status).with(:error, /pdftk/, kind_of(Symbol))
|
113
|
-
@obj.find_external_cmds
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
describe 'with configuration set, non-existent pdftk' do
|
118
|
-
before(:each) do
|
119
|
-
@obj = ExternalCmdsTester.new
|
120
|
-
@obj.stub(:load_config!) { }
|
121
|
-
@obj.stub(:save_config!) { }
|
122
|
-
|
123
|
-
@obj.set_config :pdftk_path, '/nope/wut'
|
124
|
-
@obj.set_config :have_pdftk, true
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'resets have_pdftk to false' do
|
128
|
-
@obj.find_external_cmds
|
129
|
-
@obj.get_config(:have_pdftk).should be(false)
|
130
|
-
end
|
131
|
-
|
132
|
-
it 'unsets the pdftk path' do
|
133
|
-
@obj.find_external_cmds
|
134
|
-
@obj.get_config(:pdftk_path).should eq('')
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'prints out an error message' do
|
138
|
-
@obj.stub(:say_status) {}
|
139
|
-
@obj.should_receive(:say_status).with(:error, /pdftk/, kind_of(Symbol))
|
140
|
-
@obj.find_external_cmds
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
describe 'with configuration set, with pdftk' do
|
145
|
-
before(:each) do
|
146
|
-
@obj = ExternalCmdsTester.new
|
147
|
-
@obj.stub(:load_config!) { }
|
148
|
-
@obj.stub(:save_config!) { }
|
149
|
-
|
150
|
-
@obj.set_config :pdftk_path, File.expand_path(File.join(Dir.tmpdir, 'pdftk'))
|
151
|
-
@obj.set_config :have_pdftk, true
|
152
|
-
|
153
|
-
add_to_path('pdftk')
|
154
|
-
end
|
155
|
-
|
156
|
-
it 'leaves have_pdftk true' do
|
157
|
-
@obj.find_external_cmds
|
158
|
-
@obj.get_config(:have_pdftk).should eq(true)
|
159
|
-
end
|
160
|
-
|
161
|
-
it 'leaves the right pdftk path' do
|
162
|
-
@obj.find_external_cmds
|
163
|
-
|
164
|
-
path = File.expand_path(File.join(Dir.tmpdir, 'pdftk'))
|
165
|
-
@obj.get_config(:pdftk_path).should eq(path)
|
166
|
-
end
|
167
|
-
|
168
|
-
it 'should not print any messages' do
|
169
|
-
@obj.should_not_receive(:say).with(/pdftk/)
|
170
|
-
@obj.should_not_receive(:say_status).with(:warning, /pdftk/, kind_of(Symbol))
|
171
|
-
@obj.find_external_cmds
|
172
|
-
end
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'stickyflag/patches/tempfile_encoding'
|
3
|
-
|
4
|
-
describe 'Tempfile' do
|
5
|
-
describe '.new_with_encoding' do
|
6
|
-
it 'successfully creates temporary files' do
|
7
|
-
f = Tempfile.new_with_encoding 'asdf'
|
8
|
-
f.should be
|
9
|
-
|
10
|
-
f.unlink
|
11
|
-
f.close
|
12
|
-
end
|
13
|
-
|
14
|
-
# JRuby <1.7.0 implements Ruby 1.9 but doesn't follow the spec for Tempfile
|
15
|
-
if RUBY_VERSION >= "1.9.0" && (RUBY_PLATFORM != 'java' || JRUBY_VERSION >= '1.7.0')
|
16
|
-
it 'sets the correct external encoding' do
|
17
|
-
f = Tempfile.new_with_encoding 'asdf'
|
18
|
-
f.external_encoding.should be
|
19
|
-
f.external_encoding.name.should eq('UTF-8')
|
20
|
-
|
21
|
-
f.unlink
|
22
|
-
f.close
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'fileutils'
|
3
|
-
require 'stickyflag/patches/tmpnam'
|
4
|
-
|
5
|
-
describe 'File' do
|
6
|
-
describe '.tmpnam' do
|
7
|
-
it "creates file names that don't exist" do
|
8
|
-
File.exist?(File.tmpnam).should be_false
|
9
|
-
end
|
10
|
-
|
11
|
-
it "puts extensions on files (no dot)" do
|
12
|
-
path = File.tmpnam('txt')
|
13
|
-
path[-4..-1].should eq('.txt')
|
14
|
-
end
|
15
|
-
|
16
|
-
it "puts extensions on files (with dot)" do
|
17
|
-
path = File.tmpnam('txt')
|
18
|
-
path[-4..-1].should eq('.txt')
|
19
|
-
end
|
20
|
-
|
21
|
-
it "puts files in the temporary directory" do
|
22
|
-
File.tmpnam.should start_with(Dir.tmpdir)
|
23
|
-
end
|
24
|
-
|
25
|
-
it "can create lots and lots in a row" do
|
26
|
-
files = []
|
27
|
-
(1..1000).each do |i|
|
28
|
-
files << File.tmpnam
|
29
|
-
FileUtils.touch(files.last)
|
30
|
-
end
|
31
|
-
|
32
|
-
files.each { |f| File.unlink(f) }
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'stickyflag/paths'
|
3
|
-
|
4
|
-
class PathsTester
|
5
|
-
include StickyFlag::Paths
|
6
|
-
end
|
7
|
-
|
8
|
-
describe 'StickyFlag::Paths' do
|
9
|
-
describe '.config_path' do
|
10
|
-
it 'includes the config.yml file name' do
|
11
|
-
PathsTester.new.config_path.should include('config.yml')
|
12
|
-
end
|
13
|
-
|
14
|
-
it "doesn't include any tildes" do
|
15
|
-
PathsTester.new.config_path.should_not include('~')
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe '.database_path' do
|
20
|
-
it 'includes the db.sqlite file name' do
|
21
|
-
PathsTester.new.database_path.should include('db.sqlite')
|
22
|
-
end
|
23
|
-
|
24
|
-
it "doesn't include any tildes" do
|
25
|
-
PathsTester.new.database_path.should_not include('~')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
@@ -1,126 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'thor'
|
3
|
-
require 'stickyflag/patches/tempfile_encoding'
|
4
|
-
require 'stickyflag/paths'
|
5
|
-
require 'stickyflag/configuration'
|
6
|
-
require 'stickyflag/tag_factory'
|
7
|
-
require 'stickyflag/external_cmds'
|
8
|
-
require 'stickyflag/database'
|
9
|
-
|
10
|
-
class TagFactoryTester < Thor
|
11
|
-
include StickyFlag::Paths
|
12
|
-
include StickyFlag::Configuration
|
13
|
-
include StickyFlag::TagFactory
|
14
|
-
include StickyFlag::ExternalCmds
|
15
|
-
include StickyFlag::Database
|
16
|
-
end
|
17
|
-
|
18
|
-
describe 'StickyFlag::TagFactory' do
|
19
|
-
before(:each) do
|
20
|
-
@obj = TagFactoryTester.new
|
21
|
-
|
22
|
-
@obj.stub(:load_config!) { }
|
23
|
-
@obj.stub(:save_config!) { }
|
24
|
-
|
25
|
-
@obj.stub(:load_database) { }
|
26
|
-
@obj.stub(:update_database_from_files) { }
|
27
|
-
@obj.stub(:set_database_tag) { }
|
28
|
-
@obj.stub(:unset_database_tag) { }
|
29
|
-
@obj.stub(:clear_database_tags) { }
|
30
|
-
@obj.stub(:files_for_tags) { [] }
|
31
|
-
|
32
|
-
@obj.find_external_cmds
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '.available_tagging_extensions' do
|
36
|
-
it 'should be able to call through to a class method for every good extension' do
|
37
|
-
@obj.available_tagging_extensions.each do |ext|
|
38
|
-
# This is a bit of a hack -- call TagClass::respond_to?, which takes
|
39
|
-
# one argument
|
40
|
-
expect { @obj.call_tag_method("test#{ext}", :respond_to?) }.to_not raise_error
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
describe '.get_tags_for' do
|
46
|
-
it 'should delegate to PDF' do
|
47
|
-
path = example_path('pdf_no_tags.pdf')
|
48
|
-
|
49
|
-
StickyFlag::Tags::PDF.should_receive(:get).with(path, kind_of(String))
|
50
|
-
@obj.get_tags_for(path)
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'should raise error for unknown extensions' do
|
54
|
-
expect {
|
55
|
-
@obj.get_tags_for('asdf.zzy')
|
56
|
-
}.to raise_error(Thor::Error)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
describe '.set_tag_for' do
|
61
|
-
it 'should delegate to PDF' do
|
62
|
-
path = example_path('pdf_no_tags.pdf')
|
63
|
-
|
64
|
-
StickyFlag::Tags::PDF.should_receive(:set).with(path, 'lol', kind_of(String))
|
65
|
-
@obj.set_tag_for(path, 'lol')
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'should not call through if the tag is already set' do
|
69
|
-
path = example_path('pdf_with_tag.pdf')
|
70
|
-
|
71
|
-
StickyFlag::Tags::PDF.should_not_receive(:set)
|
72
|
-
@obj.set_tag_for(path, 'test')
|
73
|
-
end
|
74
|
-
|
75
|
-
it 'should raise error for unknown extensions' do
|
76
|
-
@obj.stub(:get_tags_for) { [] }
|
77
|
-
expect {
|
78
|
-
@obj.set_tag_for('asdf.zzy', 'lol')
|
79
|
-
}.to raise_error(Thor::Error)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
describe '.unset_tag_for' do
|
84
|
-
it 'should delegate to PDF' do
|
85
|
-
path = copy_example('pdf_with_tag.pdf')
|
86
|
-
|
87
|
-
StickyFlag::Tags::PDF.should_receive(:unset).with(path, 'test', kind_of(String))
|
88
|
-
@obj.unset_tag_for(path, 'test')
|
89
|
-
|
90
|
-
File.delete(path)
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'should not call through if the tag is not set' do
|
94
|
-
path = example_path('pdf_no_tags.pdf')
|
95
|
-
|
96
|
-
StickyFlag::Tags::PDF.should_not_receive(:unset)
|
97
|
-
expect {
|
98
|
-
@obj.unset_tag_for(path, 'test')
|
99
|
-
}.to raise_error(Thor::Error)
|
100
|
-
end
|
101
|
-
|
102
|
-
it 'should raise error for unknown extensions' do
|
103
|
-
@obj.stub(:get_tags_for) { [ 'lol' ] }
|
104
|
-
expect {
|
105
|
-
@obj.unset_tag_for('asdf.zzy', 'lol')
|
106
|
-
}.to raise_error(Thor::Error)
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
describe '.clear_tags_for' do
|
111
|
-
it 'should delegate to PDF' do
|
112
|
-
path = copy_example('pdf_with_tag.pdf')
|
113
|
-
|
114
|
-
StickyFlag::Tags::PDF.should_receive(:clear).with(path, kind_of(String))
|
115
|
-
@obj.clear_tags_for(path)
|
116
|
-
|
117
|
-
File.delete(path)
|
118
|
-
end
|
119
|
-
|
120
|
-
it 'should raise error for unknown extensions' do
|
121
|
-
expect {
|
122
|
-
@obj.clear_tags_for('asdf.zzy')
|
123
|
-
}.to raise_error(Thor::Error)
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'stickyflag/tags/c'
|
3
|
-
|
4
|
-
describe StickyFlag::Tags::C do
|
5
|
-
it_behaves_like 'a tag handler'
|
6
|
-
|
7
|
-
it 'can open a file with all comments and no tags' do
|
8
|
-
ret = nil
|
9
|
-
expect {
|
10
|
-
ret = StickyFlag::Tags::C.get(example_path('c_all_comments.c'))
|
11
|
-
}.to_not raise_error
|
12
|
-
ret.should be_empty
|
13
|
-
end
|
14
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'stickyflag/tags/mkv'
|
3
|
-
require 'stickyflag/paths'
|
4
|
-
require 'stickyflag/configuration'
|
5
|
-
require 'stickyflag/external_cmds'
|
6
|
-
|
7
|
-
class GetConfiguration
|
8
|
-
include StickyFlag::Paths
|
9
|
-
include StickyFlag::Configuration
|
10
|
-
include StickyFlag::ExternalCmds
|
11
|
-
end
|
12
|
-
|
13
|
-
describe StickyFlag::Tags::MKV do
|
14
|
-
before(:each) do
|
15
|
-
config = GetConfiguration.new
|
16
|
-
config.stub(:load_config!) { }
|
17
|
-
config.stub(:save_config!) { }
|
18
|
-
|
19
|
-
config.find_external_cmds
|
20
|
-
|
21
|
-
@mkve = config.get_config(:mkvextract_path)
|
22
|
-
@mkvp = config.get_config(:mkvpropedit_path)
|
23
|
-
end
|
24
|
-
|
25
|
-
it_behaves_like 'a tag handler' do
|
26
|
-
let(:params) {
|
27
|
-
[ @mkve, @mkvp ]
|
28
|
-
}
|
29
|
-
end
|
30
|
-
|
31
|
-
context 'when we set our own tag' do
|
32
|
-
it "doesn't wipe out other tags set on the file" do
|
33
|
-
path = copy_example("mkv_with_tag.mkv")
|
34
|
-
StickyFlag::Tags::MKV.set(path, 'test2', @mkve, @mkvp)
|
35
|
-
|
36
|
-
# This is an internal method, but it's too useful not to use
|
37
|
-
xml_doc = StickyFlag::Tags::MKV.get_tag_xml(path, @mkve, @mkvp)
|
38
|
-
|
39
|
-
# This is one of the original tags on the file
|
40
|
-
tag = xml_doc.at_xpath("/Tags/Tag[Targets[TargetTypeValue = '50']]/Simple[Name = 'TITLE']")
|
41
|
-
tag.should_not be_nil
|
42
|
-
tag.at_xpath("String").content.should eq('Big Buck Bunny - test 1')
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context 'with bad mkv utility paths' do
|
47
|
-
it 'raises errors for everything' do
|
48
|
-
expect { StickyFlag::Tags::MKV.get(example_path("mkv_with_tag.mkv"), '/wut/bad', '/wut/no') }.to raise_error(Thor::Error)
|
49
|
-
expect { StickyFlag::Tags::MKV.clear(example_path("mkv_with_tag.mkv"), '/wut/bad', '/wut/no') }.to raise_error(Thor::Error)
|
50
|
-
expect { StickyFlag::Tags::MKV.set(example_path("mkv_with_tag.mkv"), 'test2', '/wut/bad', '/wut/no') }.to raise_error(Thor::Error)
|
51
|
-
expect { StickyFlag::Tags::MKV.unset(example_path("mkv_with_tag.mkv"), 'test', '/wut/bad', '/wut/no') }.to raise_error(Thor::Error)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|