@@ -109,6 +109,50 @@ def test_cli_set(test_file):
109
109
assert md .description == "Goodbye World"
110
110
111
111
112
+ def test_cli_set_multi_keywords_1 (test_file ):
113
+ """Test --set with multiple keywords (#83)"""
114
+
115
+ runner = CliRunner ()
116
+ result = runner .invoke (
117
+ cli ,
118
+ [
119
+ "--set" ,
120
+ "keywords" ,
121
+ "Foo" ,
122
+ "--set" ,
123
+ "keywords" ,
124
+ "Bar" ,
125
+ test_file .name ,
126
+ ],
127
+ )
128
+ snooze ()
129
+ assert result .exit_code == 0
130
+ md = OSXMetaData (test_file .name )
131
+ assert sorted (md .keywords ) == ["Bar" , "Foo" ]
132
+
133
+
134
+ def test_cli_set_multi_keywords_2 (test_file ):
135
+ """Test --set, --append with multiple keywords (#83)"""
136
+
137
+ runner = CliRunner ()
138
+ result = runner .invoke (
139
+ cli ,
140
+ [
141
+ "--set" ,
142
+ "keywords" ,
143
+ "Foo" ,
144
+ "--append" ,
145
+ "keywords" ,
146
+ "Bar" ,
147
+ test_file .name ,
148
+ ],
149
+ )
150
+ snooze ()
151
+ assert result .exit_code == 0
152
+ md = OSXMetaData (test_file .name )
153
+ assert sorted (md .keywords ) == ["Bar" , "Foo" ]
154
+
155
+
112
156
def test_cli_clear (test_file ):
113
157
"""Test --clear"""
114
158
@@ -151,6 +195,52 @@ def test_cli_append(test_file):
151
195
assert md .tags == [Tag ("test" , 0 )]
152
196
153
197
198
+ def test_cli_set_then_append (test_file ):
199
+ """Test --set then --append"""
200
+
201
+ md = OSXMetaData (test_file .name )
202
+ md .authors = ["John Doe" ]
203
+
204
+ # set initial value
205
+ runner = CliRunner ()
206
+ result = runner .invoke (
207
+ cli ,
208
+ [
209
+ "--set" ,
210
+ "keywords" ,
211
+ "foo" ,
212
+ test_file .name ,
213
+ ],
214
+ )
215
+ assert result .exit_code == 0
216
+
217
+ # set again and verify that it overwrites
218
+ result = runner .invoke (
219
+ cli ,
220
+ [
221
+ "--set" ,
222
+ "keywords" ,
223
+ "bar" ,
224
+ test_file .name ,
225
+ ],
226
+ )
227
+ assert result .exit_code == 0
228
+ assert md .keywords == ["bar" ]
229
+
230
+ # append and verify that it appends
231
+ result = runner .invoke (
232
+ cli ,
233
+ [
234
+ "--append" ,
235
+ "keywords" ,
236
+ "baz" ,
237
+ test_file .name ,
238
+ ],
239
+ )
240
+ assert result .exit_code == 0
241
+ assert sorted (md .keywords ) == ["bar" , "baz" ]
242
+
243
+
154
244
def test_cli_get (test_file ):
155
245
"""Test --get"""
156
246
0 commit comments