From 2394e46fb7e8f02ecf2ddb2b081959e5467bd7bf Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Mon, 1 Dec 2014 10:33:19 -0500 Subject: [PATCH] Track: Re-enable filtering This has been disabled for some time. I added a test for adding track indexes to the filter upon creation, but it doesn't properly test adding to the filter when reading from disk. Signed-off-by: Anna Schumaker --- core/tags/track.cpp | 13 +++++++------ tests/core/tags/track.cpp | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/core/tags/track.cpp b/core/tags/track.cpp index 52410eba..2707701c 100644 --- a/core/tags/track.cpp +++ b/core/tags/track.cpp @@ -2,6 +2,7 @@ * @file * Copyright 2014 (c) Anna Schumaker. */ +#include #include #include @@ -24,9 +25,9 @@ Track :: Track(Album *album, Artist *artist, Genre *genre, Library *library, _album(album), _artist(artist), _genre(genre), _library(library), _count(0), _length(length), _track(track), _path(filepath) { - //filter :: add(name(), index()); - //filter :: add(_artist->name(), index()); - //filter :: add(_album->name(), index()); + filter :: add(this->name(), index()); + filter :: add(_artist->name(), index()); + filter :: add(_album->name(), index()); _library->inc_size(); } @@ -138,9 +139,9 @@ void Track :: read(File &f) _album = tags :: get_album(album_id); _genre = tags :: get_genre(genre_id); - //filter :: add(name(), index()); - //filter :: add(_artist->name(), index()); - //filter :: add(_album->name(), index()); + filter :: add(name(), index()); + filter :: add(_artist->name(), index()); + filter :: add(_album->name(), index()); _library->inc_size(); } diff --git a/tests/core/tags/track.cpp b/tests/core/tags/track.cpp index 0a346eaa..1bb0816b 100644 --- a/tests/core/tags/track.cpp +++ b/tests/core/tags/track.cpp @@ -2,8 +2,11 @@ * @file * Copyright 2014 (c) Anna Schumaker. */ +#include #include #include + +#include #include @@ -61,6 +64,7 @@ static void test_track_tag_constructor() Track a(album, artist, genre, library, "Hyrule Symphony/13 - Legend of Zelda Medley.mp3", "Legend of Zelda Medley", 288, 13); + std::set search; Track b; verify_track_tag(&a, 1); @@ -74,6 +78,19 @@ static void test_track_tag_constructor() f.close(); verify_track_tag(&b, 2); + + + filter :: search("Legend of Zelda Medley", search); + test_equal(search.size(), (size_t)1); + test_equal((*search.begin()), (unsigned)0); + + filter :: search("Koji Kondo", search); + test_equal(search.size(), (size_t)1); + test_equal((*search.begin()), (unsigned)0); + + filter :: search("Hyrule Symphony", search); + test_equal(search.size(), (size_t)1); + test_equal((*search.begin()), (unsigned)0); } static void test_track_tag_destructor()