Commit Graph

133 Commits

Author SHA1 Message Date
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