1
0
mirror of https://github.com/clementine-player/Clementine synced 2024-12-15 18:58:55 +01:00
Commit Graph

236 Commits

Author SHA1 Message Date
David Sansome
692e5715e3 Replace slashes with underscores when organising files. Fixes issue #503 2010-07-24 13:56:49 +00:00
John Maguire
579c7cc592 Fix some Latin1 encoding guessing. 2010-07-15 12:46:08 +00:00
David Sansome
384ff16f2b Add a parser for a weird playlist format that looks like a cross between ASX and PLS. I don't know what it's called... 2010-07-10 18:39:41 +00:00
David Sansome
f0b984cbe9 Prepend a 0 to single-digit track numbers in the organiser. Fixes issue #438 2010-06-25 15:15:02 +00:00
David Sansome
093f198556 Use this handy cmake variable 2010-06-25 12:34:04 +00:00
David Sansome
0848f62c3d Move OrganiseFormat to core/ and add an Organise class that actually does the work. 2010-06-24 18:33:38 +00:00
David Sansome
3de7311c36 Add tests for the various format flags 2010-06-24 16:44:12 +00:00
David Sansome
b2dcaf5cd4 Add a dialog for organising files in a library. Doesn't work yet 2010-06-24 16:26:49 +00:00
David Sansome
f0d043d19f Build test libraries as static libs 2010-06-23 15:16:54 +00:00
David Sansome
6f9341bff8 Fix test 2010-06-23 15:16:44 +00:00
David Sansome
ed422c3743 Set a longer remote timeout on unit tests so they don't fail when they run on buildbit with high load. 2010-06-23 11:51:13 +00:00
David Sansome
0e278adb70 Disable this test for now until it can be made more reliable 2010-06-22 14:55:10 +00:00
John Maguire
b91a61c260 Tidy unicode length detection & add Cyrillic FTS test. 2010-06-21 12:07:56 +00:00
John Maguire
2f1a2fa9c7 More FTS tests. 2010-06-20 20:58:32 +00:00
John Maguire
abf79ca447 Tests and refactoring for FTS. 2010-06-20 20:51:57 +00:00
David Sansome
492d8fec87 Use sqlite's Full Text Search on the songs table 2010-06-20 16:30:10 +00:00
David Sansome
80837ce652 Oops - it helps if we actually remember to set the URL of the song we just loaded. Fixes issue #426 2010-06-20 12:50:08 +00:00
David Sansome
8dd0b9902b When album cover art changes, update songs matching those albums in the playlist 2010-06-18 14:26:46 +00:00
David Sansome
b7a8e43a53 Not just OCD - Qt creator uses this order too 2010-06-18 14:26:14 +00:00
John Maguire
82b728528e Better unicode search.
Fixes issue #419
2010-06-18 12:54:11 +00:00
David Sansome
91057acd78 Fix some test values 2010-06-17 16:54:23 +00:00
David Sansome
d423d008d4 Fix this stupid test, *again* 2010-06-16 22:32:02 +00:00
David Sansome
747d466bcc Fix this test on Windows properly maybe 2010-06-16 13:13:34 +00:00
David Sansome
43309a13d0 Fix for lame OSs that don't have mkdtemp 2010-06-15 18:34:01 +00:00
David Sansome
02d01b1314 PLS playlists aren't really INI files - they don't follow the same rules with escaping characters, so parse them the old fashioned way. 2010-06-15 17:34:00 +00:00
David Sansome
8c7539f02e ASF files aren't really XML - try to correct the mismatching case 2010-06-15 17:00:48 +00:00
David Sansome
25ff2bca59 Always treat text/uri-list as M3U 2010-06-15 14:52:42 +00:00
David Sansome
032374c74b Oops, misleading comment 2010-06-15 14:25:18 +00:00
David Sansome
de630e0a9f Run LoadLocalDirectory in another thread so it doesn't block 2010-06-15 14:24:17 +00:00
David Sansome
2c3e9276aa Fix some of the comments on r1148 2010-06-15 13:56:41 +00:00
David Sansome
08a01d6997 The start of some code to automagically determine whether a URL is a playlist or a song, and load the songs in the playlist if it's a playlist. Still to do: timeout, forcing M3U for text/uri-list. 2010-06-15 13:24:17 +00:00
David Sansome
b3fd856e4a Add an m4a to fileformats_test 2010-06-10 12:38:26 +00:00
David Sansome
f33604580c Stop ASCII from voting, and add a failing test 2010-06-03 15:16:15 +00:00
John Maguire
2ad15ffec6 Code review comments for r1023 2010-06-03 13:26:46 +00:00
John Maguire
b9df2a09d4 Add voting for codecs, eg. if 3/4 tags in a file are windows-1251 then they will all be decoded with windows-1251. 2010-06-03 12:36:43 +00:00
David Sansome
6dd32da591 Make the M3U parser use the local 8-bit encoding instead of latin1. Yes I know the spec says m3us are always latin1 - you didn't expect anyone else to actually follow that did you? Fixes issue #364. 2010-06-02 20:06:47 +00:00
David Sansome
531fa90cbd Fix test compilation 2010-06-02 16:58:34 +00:00
David Sansome
21c990e3c7 Test for UTF8 in a Latin1 field 2010-06-02 13:11:51 +00:00
John Maguire
f4385d4545 Detect cp866 & windows-1251 in "latin1" tags. 2010-06-02 12:31:40 +00:00
John Maguire
4836b8d420 Fix XML parsers to output file URLs. 2010-05-27 22:43:07 +00:00
John Maguire
e8dab5c065 ASX support.
Fixes issue #325
2010-05-27 20:55:34 +00:00
David Sansome
c59a819068 Fix a warning 2010-05-25 22:19:30 +00:00
John Maguire
07b2c38690 Save support for M3U. 2010-05-23 17:00:45 +00:00
John Maguire
1b76ead951 Implement playlist saving for XSPF. 2010-05-23 16:26:32 +00:00
John Maguire
a59f5a3887 *Fix m3u parsing
*Add regression test
*Fix clang warnings
2010-05-23 15:35:28 +00:00
David Sansome
06c6bebe15 Support for saving .pls files 2010-05-22 21:27:51 +00:00
David Sansome
211ae65e3d .pls parser. Fixes issue #302 2010-05-22 21:11:22 +00:00
David Sansome
c9c44ca592 Move the playlist parsers to another directory, and add a PlaylistParser class that magically uses the right parser. 2010-05-22 20:06:19 +00:00
David Sansome
1572124962 Seperate last played values for each playlist 2010-05-20 22:30:55 +00:00
David Sansome
3d8c11ff5a Fix tests 2010-05-19 17:00:09 +00:00
David Sansome
b9438a3a90 Fix tests 2010-05-18 20:56:28 +00:00
John Maguire
6794b67a2f Fix LibraryModel tests. 2010-05-11 19:03:29 +00:00
John Maguire
5dd0a9c35f Autodetect weird encodings in ID3v1 tags.
Fixes issue #254
2010-05-11 12:03:55 +00:00
David Sansome
1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00
David Sansome
481dbae992 Save magnatune playlist items properly, also fix tests from before 2010-05-10 14:19:43 +00:00
David Sansome
88ab9a8299 Add a table for the Magnatune library, and add the Magnatune database to it when the Magnatune node is expanded. Sort the Magnatune library model properly, and don't crash when adding or removing items. 2010-05-09 16:53:35 +00:00
David Sansome
6b8d6c93f9 Add a MergedProxyModel that lets us merge two models into one... 2010-05-09 15:51:04 +00:00
David Sansome
1b00aaa8b3 Big refactoring of the Library <-> LibraryBackend <-> SQLite interaction.
The LibraryBackend has now been split into a Database class that deals with setting up sqlite, and PlaylistBackend that contains the functions for persisting the playlist.  The LibraryBackend now only contains functions for accessing "a collection of songs", and can be parameterised with table names to access different collections.  It also no longer lives in a background thread, and follows the Qt memory management model instead of using shared_ptr.
Most of Library has been moved into LibraryModel - a QAbstractItemModel for any LibraryBackend.  What's left of Library is now specific to the user's local library on disk.
2010-05-09 00:10:26 +00:00
David Sansome
0c9e69ed30 Group "remove" undo commands in the playlist. Fixes issue #262 2010-04-29 23:58:31 +00:00
David Sansome
48bd5020cd Don't crash when editing a song that doesn't exist any more, also don't even add deleted songs to the playlist. Fixes issue #253. 2010-04-27 17:37:26 +00:00
David Sansome
36af3ddbe4 After shuffling the playlist, make sure next works as expected. Fixes issue #248 2010-04-26 11:36:10 +00:00
David Sansome
5fed8efc44 Test WMA files too 2010-04-21 18:21:27 +00:00
David Sansome
7263983e0c More debug output in CanDecode, and set the gst path in GstEngine rather than main() 2010-04-21 17:11:50 +00:00
David Sansome
4eedddd57c Make the gst engine emit Error() instead of showing its own dialog when a plugin couldn't be found. 2010-04-21 11:14:12 +00:00
David Sansome
0656330548 Test we can load various popular file formats 2010-04-20 22:00:02 +00:00
David Sansome
58ae505377 If you remove the currently playing song, then undo it, keep the "currently playing" status on the newly re-added song. Updates issue #152. 2010-04-20 19:08:12 +00:00
David Sansome
57c9a0d00a Tests for playlist undo/redo 2010-04-20 18:41:12 +00:00
David Sansome
2a33954725 Codereview comments from r701 2010-04-14 22:36:28 +00:00
David Sansome
ed152be391 Scoped transaction test 2010-04-14 22:32:07 +00:00
David Sansome
c29742a739 Fix the playlist test to use shared_ptrs 2010-04-14 22:11:59 +00:00
David Sansome
d1966aa7f6 Check these additional tables exist 2010-04-14 21:09:28 +00:00
David Sansome
af07b5becd Store the playlist in the database. This is still quite slow. 2010-04-14 21:03:00 +00:00
David Sansome
04f467b2fe Add missing file - buildbot is useful! 2010-04-14 16:25:04 +00:00
David Sansome
76ef868c0a Don't pass non-const references 2010-04-14 16:12:33 +00:00
David Sansome
65440dd374 Codereview comments from r685 2010-04-14 16:00:45 +00:00
David Sansome
3172f6b950 Basic playlist manipulation tests 2010-04-14 15:57:58 +00:00
David Sansome
747ae61620 More playlist tests 2010-04-14 15:39:24 +00:00
David Sansome
921eb94a21 Abstract the QSettings usage out of Playlist and PlaylistSequence, create a mock for it, and add a basic playlist test 2010-04-14 14:48:10 +00:00
John Maguire
f429b53212 Use static version of qsqlite plugin on mac as well & disable qxt for mac.
The plugin shipped with Qt has the sqlite symbols set to hidden. It seems dlsym() actually cares about that on Snow Leopard whereas it doesn't in Leopard.
If it can't find the sqlite functions in the given library, then it will go fishing and find /usr/lib/libsqlite3.dylib and that's bad :-(
2010-04-13 19:43:08 +00:00
David Sansome
7238bd7014 Fix tests 2010-04-11 21:45:01 +00:00
David Sansome
a4e14afdbb Load translations from an empty context too. 2010-04-08 14:29:08 +00:00
David Sansome
9f3fc3d8ab Add the library test back in 2010-04-04 16:28:34 +00:00
David Sansome
fd2da463b1 Update library backend tests 2010-04-04 13:17:07 +00:00
David Sansome
48270bfeec Fix tests 2010-04-01 17:03:42 +00:00
David Sansome
29ba8d5bd3 Fix tests on windows 2010-03-31 19:33:12 +00:00
David Sansome
b8be261700 Some little fixes for compilation on Windows 2010-03-31 02:55:05 +00:00
David Sansome
4c42813d9f Add "group by" support to the library, and improve the whole library model to make it more robust.
Still todo: the "Group by advanced..." dialog, unit tests.
Updates issue #94.
2010-03-31 00:30:57 +00:00
John Maguire
df38ebf9d9 A few little mac fixes. 2010-03-30 15:53:45 +00:00
David Sansome
1081c948ae Add missing copyright headers 2010-03-29 19:25:08 +00:00
David Sansome
ea1df6dbff Fix the translation resource file generation - thanks Henry Sylvain. Also add a test to make sure they're always found. 2010-03-29 19:12:06 +00:00
John Maguire
5e482b99ec Namespace test only targets. 2010-03-29 13:52:29 +00:00
John Maguire
813fa70db1 Only build test main twice rather than once per test. 2010-03-29 13:47:46 +00:00
David Sansome
0e4fb1b789 Fix loading songs with a # (or other URL special characters) in the name. Fixes issue #117 2010-03-27 15:53:02 +00:00
John Maguire
2afd94ce47 Switch cover manager filter from OR to AND. 2010-03-26 15:04:38 +00:00
John Maguire
1cad21a3e0 Only enable gui in tests that need it. 2010-03-26 12:50:27 +00:00
John Maguire
2b812a76fd Split search query in cover manager.
Add unit tests.
Fixes issue #119
2010-03-26 12:22:19 +00:00
John Maguire
2e71390acd Switch from OR to AND in split queries.
Fixes issue #116
2010-03-25 15:59:58 +00:00
John Maguire
95252ccc71 Support query splitting in library search.
Improve performance of LIKE().
Fixes issue #104
2010-03-25 13:58:24 +00:00
David Sansome
ceb225c236 More tests for edge cases when removing songs from the library 2010-03-24 19:53:00 +00:00
David Sansome
1103ef77da More library tests 2010-03-24 19:05:49 +00:00
David Sansome
af5ede8dd0 Library tests for some corner cases 2010-03-24 17:48:25 +00:00
John Maguire
fc522602bd Only link QtTest in unit tests. 2010-03-24 14:56:03 +00:00
David Sansome
fa00ee971d Add license headers to all our source files 2010-03-23 23:11:46 +00:00
David Sansome
ea83789f17 Some more library model tests 2010-03-23 21:52:42 +00:00
David Sansome
dfc972be63 Use the global QApplication now 2010-03-23 21:44:43 +00:00
David Sansome
16e1deaade Make it possible for the LibraryBackend to be mocked, and add a simple test for Library. 2010-03-23 17:26:54 +00:00
John Maguire
777cc79b95 Fix unit test to build in release mode. 2010-03-23 15:37:22 +00:00
John Maguire
2f350c1ae6 Add unit tests for custom LIKE() function. 2010-03-22 16:03:24 +00:00
John Maguire
e809019bef Fix code review comment for r353
Add more tests for XSPF parser.
2010-03-11 15:25:25 +00:00
John Maguire
11330d0177 XSPF parser with test. 2010-03-09 17:17:32 +00:00
David Sansome
9f0e399fba Fix a failing test 2010-03-08 18:07:18 +00:00
John Maguire
1aebf19077 Ensure Song is valid from m3u parser.
Fix tests.
2010-03-07 15:26:54 +00:00
John Maguire
08416e2c51 Make M3U parser grab tags from file. 2010-03-07 14:04:17 +00:00
John Maguire
4219dfa718 Add test for taglib usage in Song, will be more helpful testing M3U/XSPF parsing.
Dave: I'm sorry.
2010-03-06 20:08:01 +00:00
John Maguire
1bf373b184 remove test targets from "make all" 2010-03-06 18:51:15 +00:00
John Maguire
1ad24804cc Finish m3u parser 2010-03-05 11:57:06 +00:00
John Maguire
64abef1cd4 Make tracks with no album show up.
Fixes issue #57
2010-03-05 10:51:16 +00:00
John Maguire
84d80f6a10 Explicitly link test_utils.cpp with Qt.
Fixes issue #58
2010-03-05 10:11:04 +00:00
John Maguire
534d7f0fb6 Change cmake script to actually use the input param rather than ARGV. 2010-03-04 16:14:16 +00:00
John Maguire
1f23f2e64d Check last.fm method in AlbumCoverFetcherTest. 2010-03-04 11:48:19 +00:00
John Maguire
3734f23325 Tidy up AlbumCoverFetcherTest. 2010-03-04 11:43:44 +00:00
John Maguire
7b520ab361 Fix code review comments for r313. 2010-03-03 20:35:19 +00:00
John Maguire
7763d7da89 Add test for AlbumCoverFetcher.
Comes with infrastructure for testing network requests.
2010-03-03 19:14:14 +00:00
David Sansome
15797e07c6 Test updating and deleting songs 2010-03-03 18:38:20 +00:00
David Sansome
4652e47c65 Test adding a song without required fields set 2010-03-03 01:39:39 +00:00
David Sansome
fa3858266a Fixed review comments from r307 2010-03-03 00:49:44 +00:00
David Sansome
3f861654ec Some more backend tests 2010-03-03 00:33:31 +00:00
David Sansome
3296bf7b7d LibraryBackend tests should test at a higher level 2010-03-02 23:37:12 +00:00
David Sansome
72aa271b23 Fixes for mingw32 cross-compiling 2010-03-02 20:46:46 +00:00
John Maguire
6a43c8f6c6 Refactor LibraryBackendTest to make it easier to write tests. 2010-03-02 13:35:39 +00:00
John Maguire
864215cb23 Adds a test for LibraryBackend (not as trivial as it sounds :-)
Adds Googlemock.
Adds mock Qt database drivers.
2010-03-01 22:00:15 +00:00
John Maguire
84786c7bc8 Add more tests to m3uparser including one windows-only test.
Fix code review comments from r291.
2010-03-01 16:31:19 +00:00
John Maguire
0c49e0dd94 Automatically add test dependencies. 2010-03-01 15:43:27 +00:00
John Maguire
c043eaba0c Add mostly done M3UParser with basic unit tests.
Add lots of test infrastructure.
2010-03-01 15:40:12 +00:00
John Maguire
7e500a2fa8 fix build and move gtest to 3rdparty 2010-03-01 12:55:51 +00:00
John Maguire
269957e7ca Add infrastructure for unit tests. 2010-03-01 01:47:50 +00:00