Adrian Sampson
d8c0a42e6c
Avoid TestHelper dependency in MediaFile tests
...
Part of #1966 . This also introduces a nicer, more lightweight way to create and
destroy temporary directories, decoupling that functionality from the
giant morass that is TestHelper.
2016-11-26 18:55:58 -05:00
Adrian Sampson
a88682e7bb
Undo from _common import unittest indirection
...
This was a vestige from when we used to need the unittest2 library for pre-2.7
compatibility. Now that we require Python 2.7, we aren't using that library
and this indirection wasn't doing any good.
2016-11-26 18:46:44 -05:00
Adrian Sampson
24940c0de7
In MediaFile tests, use simpler import path
...
This will make it easier to copy these tests into their own repository.
2016-11-26 18:27:20 -05:00
Adrian Sampson
788654736d
Obviate the need for a beets utility in MF tests
...
Even more on #1966 .
2016-11-26 18:26:18 -05:00
Adrian Sampson
47049e1ff1
Avoid one last beets utility in MediaFile tests
...
This is a little dirty, what with the hard-coded encoding, but I don't feel
too bad about it because we're only manipulating our test fixtures and
temporary directory that way.
More on #1966 .
2016-11-26 18:23:46 -05:00
Adrian Sampson
54cb0b2a15
Separate beets-specific MediaFile tests
...
Part of the #1966 separation effort.
2016-11-26 18:08:00 -05:00
Adrian Sampson
fc6658c110
Add a missing __future__ import
2016-11-26 17:31:54 -05:00
Adrian Sampson
d54ef99ea5
Fix a forgotten test
2016-11-25 21:33:44 -05:00
nathdwek@laptop
eb1ea6177d
acousticbrainz: drop DefaultList, be explicitly careful
...
* I don't see DefaultList be really helpful in many other cases, so having
a beets.util.collections module (which could also conflict with the collections
module from standard library) with only that in it is a little silly.
* It was elegant and concise, but there are implementation issues: it is not
recommended to subclass builtin types, but the alternatives differ between python
2 and 3 (subclass sequence or container or collections.abc?), moreover,
interpreters can differ in the way they map syntaxic sugar to magic functions.
* Also, slicing and negative indexing could do weird things, so the class wouldn't
be really intuitive and simple at the same time
2016-11-20 22:03:41 +01:00
nathdwek@laptop
51243240f6
acousticbrainz: Test _map_data_to_scheme with real data
2016-11-20 22:03:41 +01:00
nath@home
4586e2df5a
acousticbrainz: Add unit tests
2016-11-20 22:03:41 +01:00
Christoph Reiter
31f91129f3
Use mutagen id3 encoding constants
2016-11-19 10:36:31 +01:00
Christoph Reiter
31898111ed
mediafile: prefer latin-1 encoding for ID3 APIC descriptions. Fixes #899
...
iTunes has problems with everything but latin-1
Try to use latin-1 if possible and fall back to utf-16.
2016-11-18 01:09:53 +01:00
Nathan Dwek
2eae2d6d17
Merge pull request #2262 from beetbox/fix-2260
...
Convert: Don't prompt for confirmation if query result is empty
Fix #2260
2016-11-13 20:37:09 +01:00
nathdwek@laptop
a0a9f5a7a8
Fix typos in tests
2016-11-13 17:49:18 +01:00
nathdwek@laptop
8067d82be8
convert: test for #2260
2016-11-13 17:47:07 +01:00
Adrian Sampson
d6242ec207
Tiny whitespace fix
2016-11-11 20:00:14 -05:00
michaelbub
58fe63764e
reduced line length
2016-11-11 22:34:46 +01:00
michaelbub
0a88338f8b
obey style guide
2016-11-11 16:23:32 +01:00
michaelbub
28d18b7c64
update test to run with python 3.5.2
2016-11-11 15:53:14 +01:00
michaelbub
0bdc621d99
sanitizing playlist name AFTER values have been filled in and updated test accordingly
2016-11-11 15:21:34 +01:00
michaelbub
5942adba01
fixed/updated test to consider sanitized playlist names
2016-11-11 10:07:25 +01:00
nathdwek@laptop
e782885e50
embedart: Adapt tests for #2254
2016-11-08 18:48:44 +01:00
nathdwek@laptop
a0877dc092
images: Make sure all jpegs work everywhere
...
Apply #1545 to a public function used everywhere
2016-11-08 18:48:44 +01:00
Dang Mai
04560bd88e
Stop passing in fields to be stored for Item.move and Album.move
2016-10-23 15:52:27 -04:00
Dang Mai
f42f558db2
Fix long line for flake8
2016-10-20 21:21:50 -04:00
Dang Mai
406f3ce843
Add tests and make sure they pass
2016-10-20 21:07:12 -04:00
Dang Mai
679918f191
Fix some test failures
2016-10-20 00:28:28 -04:00
Diego Moreda
fc9f061574
discogs: add tests for medium, medium_total
...
Add three tests for the setting of tracks' medium and medium_total on
the discogs plugin. test_parse_medium_numbers_single_medium is meant
to fail due to #587 .
2016-10-17 19:48:06 +02:00
Diego Moreda
f4907ca5d0
discogs: handle nested subtracks, add try block
...
Modify coalesce_tracks() in order to handle the case where subtracks
are defined inside an index track (as `sub_tracks` attribute),
reorganizing the if logic to avoid duplicated code.
Add a try..catch block enclosing the call to clean_tracklist, as a
measure for avoiding side effects (and reverting to just parsing the
raw_list if there are any problems).
2016-10-10 19:59:42 +02:00
Diego Moreda
fb398c5f2c
discogs: add medium_total to tracks ( #415 )
2016-10-10 17:46:41 +02:00
Diego Moreda
1148acaaf1
discogs: revise position regexp, add tests, tox
...
Revise the regular expression used for extracting information from a
discogs position, making the subtrack_index only be matched if one of
the other groups is matched as well. Split the definition into several
lines in order to try to document it a bit more clearly.
Add unit tests for position parsing and non standard positions.
Fix the underscore on tox dependency.
2016-10-10 17:42:27 +02:00
Diego Moreda
1c63d0bbab
discogs: add more unit tests
...
Add unit tests covering the discogs standard positions (12.2.9). Clean
up a bit the helper methods (unused parameters, documentation).
https://www.discogs.com/help/submission-guidelines-release-trk.html#Position
2016-10-07 18:44:55 +02:00
Diego Moreda
9c88998a5d
discogs: add initial unit test skeleton
...
Add a first skeleton for providing unit tests for the discogs plugin,
heavily inspired by test_mb, which adds a couple of method for creating
very simple and not comprehensive Bags that mimic discogs_client.Release
and discogs_client.Track.
Add a test for checking the problem of setting media for the Tracks.
2016-10-06 19:31:55 +02:00
Diego M. Rodríguez
9dcd4f7367
Merge pull request #2213 from diego-plan9/template-comma-behaviour
...
Revise comma handling on templates
2016-10-04 18:17:49 +02:00
Diego Moreda
bc8f422433
Do not attempt matching unset fields on DateQuery
...
Add a comparison at DateQuery.match in order to avoid comparing if the
field is not in the item.
Revise the existing types_plugin unit tests for explicitely checking the
behaviour when the values are unset.
2016-10-03 19:52:44 +02:00
Diego Moreda
518c6b8801
Add tests for comma outside functions in templates
...
Add unit tests for the use of the separator special character (comma)
outside a function argument.
2016-10-02 19:17:56 +02:00
Fabrice Laporte
e2703b9a7c
always yield item artist and title first
...
Rather than using an unordered set for storing pairs, append to a list
and build an OrderedDict from it to filter duplicated strings while
keeping order.
2016-09-25 15:46:22 +02:00
Fabrice Laporte
059be3b94c
test_lyrics: fix too many blank lines
2016-09-23 22:41:44 +02:00
Fabrice Laporte
8b4f39da42
lyrics: search for song title part preceding colon. fix #2205
2016-09-23 22:23:32 +02:00
Johnny Robeson
49fc2ac5e9
Use run_with_command in write_cmd in test_ui.py
2016-09-18 03:31:00 -04:00
Johnny Robeson
ec4eb8368e
Replace capture_stdout in test_config_command
...
I didn't see a good reason not to use `run_with_command` here
2016-09-18 03:29:04 -04:00
Johnny Robeson
ddaa94003b
add yaml output command func to config_command tests
2016-09-18 03:17:44 -04:00
Johnny Robeson
d585019ab3
Remove indirect run_command() in test_info.py
...
This was breaking the `info` command in the click branch. I assume
that was because `run_command` was aliased to `run_with_output`.
It was also confusing in its own right, so I consider it a win
either way.
2016-09-17 21:59:56 -04:00
Johnny Robeson
da0e15b71e
fold capture_stdout into _run_list() in test_ui
2016-09-09 18:55:47 -04:00
Adrian Sampson
eb58575024
Unicode formats in a test
2016-09-07 21:46:07 -04:00
Adrian Sampson
15a5512ea5
Require Unicode format strings
...
Fallout from #2188 . Following @jrobeson's suggestion, I just turned the check
in LibModel.__format__ into an assert. This turned up a few badly-behaved
clients, which are also fixed.
2016-09-07 21:42:59 -04:00
Johnny Robeson
7a2bdf502f
s/utf8/utf-8/ in all encoding/decoding contexts
...
This matches up with the python documentation.
2016-09-06 23:10:24 -04:00
Johnny Robeson
632240c01c
s/linux2/linux/ as platform name in test_library
...
This causes no issues for us now, and is more forward compatible.
2016-09-05 22:57:38 -04:00
Marvin Steadfast
5592499b31
embyupdate: backwards compatible hostname
...
`host` takes `localhost`, `http://localhost ` and `https://`.
2016-08-26 12:28:48 +02:00
Marvin Steadfast
a282d4abc5
embyupdate: Fix authentication header problem
...
There was a problem with the authentication header in the latest
versions. The header creation function changed to fix that. Username and
passwort authentication should work again.
The `host` config variable takes now a full hostname. For example
`http://localhost ` instead of just `localhost`. This makes it easier to
use https hosts.
2016-08-26 10:29:08 +02:00
Johnny Robeson
6bedbd84df
removebyte conversion/literals for command args
...
Paths are obviously untouched.
We definitely don't need these as they are entirely ascii.
2016-08-25 03:37:30 -04:00
Adrian Sampson
7061f7ff47
Use byte path consistently in hidden test ( #2168 )
2016-08-13 10:11:52 -04:00
Johnny Robeson
c26266cab0
convert byte args to string on PY3 in command_output
...
The strings are surrogateescaped to make sure we can get the bytes
representation back
2016-08-11 21:58:58 -04:00
Johnny Robeson
bcc77f747b
encode args before decode in convert_stub.py for py 3
...
We encode the args from `sys.argv` with `util.arg_encoding` to
make sure we have paths that cleanly open when running
`convert_stub.py` on Windows
2016-08-10 05:18:39 -04:00
Johnny Robeson
d41949d326
close files we open, but forgot to close
...
This fixes all the obvious `ResourceWarning`s seen in the tests
2016-08-09 01:15:28 -04:00
Johnny Robeson
5b3cd44608
add coding: utf-8 magic comment to every .py file
2016-08-07 04:09:17 -04:00
Johnny Robeson
304df82361
rename/move ui._arg_encoding to util.arg_encoding
...
We use this for more than ui concerns, so it should be in util.
It is also no longer marked as a "private" method.
2016-08-04 17:16:11 -04:00
Johnny Robeson
70b58c1905
use normpath() in all cases for assert_equal_path
...
This fixes issues with comparing string (via syspath) and bytestring paths on Windows.
2016-08-01 18:33:59 -04:00
Johnny Robeson
15a8409535
add python version to beet --version
2016-07-31 02:48:07 -04:00
xarph
9fb763e151
fix bug where $args would be included in the command output if $args was
...
set in config but -A or --args was left off the beet play command.
2016-07-26 15:41:45 -07:00
Adrian Sampson
327bebbd23
Merge pull request #2141 from beetbox/remove_patch_dot_start
...
(Mostly) remove patch dot start
2016-07-26 09:44:06 -04:00
Adrian Sampson
8a234ebc55
Use flake8 3.0 style for import errors
...
It worked in previous versions to put `noqa` on the non-import line that
preceded the imports. As of flake8 3.0.0, we apparently need to ignore the
import-after-non-import error on every `import` line.
2016-07-25 15:11:10 -04:00
Adrian Sampson
5665696b87
Remove unnecessary path fiddling
...
I don't know why this was here in the first place -- imports from `beetsplug`
should work fine without this mess.
2016-07-25 15:08:36 -04:00
Adrian Sampson
6772b4d1fd
Leave captured stdout as Unicode on Python 3
2016-07-25 13:24:51 -04:00
Adrian Sampson
0e2b8a5b60
Use native strings for IO in a test
2016-07-25 13:22:57 -04:00
Adrian Sampson
b73bbf0b3e
In completion tests, don't load system scripts
...
On my machine, the "leak" of other bash_completion scripts here recently
started doing a *lot* of work for other packages. Most damningly, it started
compiling a bunch of stuff with rustc! Now we only load beets' own completion
stuff.
2016-07-25 12:57:44 -04:00
Adrian Sampson
e65e7a6716
Fix minor style in completion test
2016-07-25 12:45:32 -04:00
Jesse Weinstein
417d78eb78
Use longer param name
...
Per request by jrobeson on IRC
2016-07-25 00:19:49 -07:00
Johnny Robeson
f8049e67b4
add test helper method to convert cmd args on py2/3
...
This helper method converts args to bytes on python 2, and args to
strings on python 3
2016-07-25 02:59:41 -04:00
Jesse Weinstein
9df4b6dc15
do_test is not actually a test
2016-07-24 22:45:31 -07:00
Johnny Robeson
ba26b7d26f
replace calls to _raw_main in test_ui with run_command
2016-07-25 01:04:06 -04:00
Johnny Robeson
9ab9166c8d
add a lib keyword arg to the run_command test helper
...
Now a `Library` instance can be passed to run_command as a keyword
argument.
2016-07-25 00:43:33 -04:00
Johnny Robeson
7bb649c3b2
remove :memory: library fallback from test run_command
2016-07-25 00:16:09 -04:00
Johnny Robeson
2b349c7851
use :memory: Library in all test_config_command tests
2016-07-25 00:14:53 -04:00
Johnny Robeson
3275a511c2
remove a template test that doesn't test anything
...
@samspyo discovered that this test wasn't testing anything of value, so
we're dropping it.
2016-07-24 23:40:29 -04:00
Jesse Weinstein
92d008b155
Fix overlength lines
2016-07-24 12:11:35 -07:00
Johnny Robeson
20321feda7
read and write pipes as bytes in completion tests
...
The stdin/stdout for subprocess are bytes, so treat them that way
2016-07-23 04:34:07 -04:00
Johnny Robeson
0377a4e26b
open completion files in test_ui in binary mode
2016-07-23 04:24:15 -04:00
Jesse Weinstein
d808316b23
Switch over 3 more files
2016-07-22 23:51:06 -07:00
Jesse Weinstein
e5a723b899
Switch test_importer over to use @patch
2016-07-22 23:35:33 -07:00
Jesse Weinstein
dca27572aa
Convert mock.patch.start() into annotation in test_edit
2016-07-22 23:10:35 -07:00
Jesse Weinstein
8474ae3f66
Fix patcher to always be correctly cleaned up
2016-07-21 23:55:07 -07:00
Johnny Robeson
18b57ea022
clear argv before running commands in the test suite
...
Fixes #2123
2016-07-14 03:33:29 -04:00
Johnny Robeson
7e150481b6
compare test_types plugin test output as strings
...
Since we're using StringIO (and equivalent in DummyIO), we can just use
strings here.
2016-07-11 02:25:22 -04:00
Johnny Robeson
910a1b93f5
don't test symlink related functions on Windows
...
They do work, but only with admin privs. Related discussion in #2114
2016-07-10 20:26:21 -04:00
Johnny Robeson
f9dfd34602
use py3_path for archive (ZipFile, etc) filenames
...
ZipFile and RarFile both only accept string filenames on py3, not
bytestrings.
2016-07-10 01:53:24 -04:00
Johnny Robeson
bb15829b17
add missing b' to config.yaml files in ui tests
...
I'd not gotten around to doing this because of other py3 test
issues, but here we go now!
2016-07-07 03:44:19 -04:00
Johnny Robeson
a221a120c4
fix keyfinder command name comparison in test
2016-07-07 03:44:19 -04:00
Wieland Hoffmann
49f59115cb
chmod -x image_unknown_type.mp3
2016-07-05 20:29:35 +02:00
Johnny Robeson
fa3fe86ac1
remove bytes() wrap from test helper fixture
...
It was already bytes, so this was redundant. It also broke the tests
on windows with py3.
2016-07-05 02:06:13 -04:00
Johnny Robeson
53d1dc905f
add a missing bytestring_path in importer test
2016-07-05 01:33:43 -04:00
Johnny Robeson
cae6e128e4
use same symlink test in mediafile_edge as elsewhere
2016-07-05 01:29:38 -04:00
Johnny Robeson
00bff81756
add a flush() method to test DummyOut
...
The method just runs `self.clear()`
2016-07-04 02:24:32 -04:00
Johnny Robeson
b9cd889ef4
decode ipfs item paths to satisy python -bb
2016-07-03 23:52:05 -04:00
Johnny Robeson
8c1e9e0dd4
add missing displayable_paths to satisify python -bb
2016-07-03 23:52:05 -04:00
Johnny Robeson
35d0e81949
add missing bytestring_paths for python -bb
2016-07-03 22:25:47 -04:00
Johnny Robeson
02680eba59
bytestringify a few more paths in test_importer
2016-07-02 01:52:00 -04:00
Johnny Robeson
24ae4bb056
encode path as utf-8 for is_path_query tests
...
is_path_query is not supposed to accept bytestrings
2016-07-02 01:24:25 -04:00
Adrian Sampson
6919d6980f
Fix path types in test_unicode_path
...
This is lifted directly from 658e814ad718610004cbe6d865c8f2f62e676ffb.
2016-07-01 21:54:37 -07:00