diff options
author | Max Kellermann <max@musicpd.org> | 2019-03-15 20:41:55 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2019-03-16 13:23:02 +0100 |
commit | 137ffba1b43ef54bc2056c5760bf9e3785e03a01 (patch) | |
tree | d0863afd7d64185ef9ef19e810859ec98aa3633a /test | |
parent | 5c5dc1b7c0f98aefd549e25810f5f8163456bbb5 (diff) |
test/test_translate_song: move MakeTag() to header
Diffstat (limited to 'test')
-rw-r--r-- | test/MakeTag.hxx | 44 | ||||
-rw-r--r-- | test/test_translate_song.cxx | 23 |
2 files changed, 45 insertions, 22 deletions
diff --git a/test/MakeTag.hxx b/test/MakeTag.hxx new file mode 100644 index 000000000..55147f4e8 --- /dev/null +++ b/test/MakeTag.hxx @@ -0,0 +1,44 @@ +/* + * Copyright 2003-2019 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "tag/Builder.hxx" +#include "tag/Tag.hxx" +#include "util/Compiler.h" + +static void +BuildTag(gcc_unused TagBuilder &tag) +{ +} + +template<typename... Args> +static void +BuildTag(TagBuilder &tag, TagType type, const char *value, Args&&... args) +{ + tag.AddItem(type, value); + BuildTag(tag, std::forward<Args>(args)...); +} + +template<typename... Args> +static Tag +MakeTag(Args&&... args) +{ + TagBuilder tag; + BuildTag(tag, std::forward<Args>(args)...); + return tag.Commit(); +} diff --git a/test/test_translate_song.cxx b/test/test_translate_song.cxx index 2419b1bac..cd4e39a5c 100644 --- a/test/test_translate_song.cxx +++ b/test/test_translate_song.cxx @@ -2,6 +2,7 @@ * Unit tests for playlist_check_translate_song(). */ +#include "MakeTag.hxx" #include "playlist/PlaylistSong.hxx" #include "song/DetachedSong.hxx" #include "SongLoader.hxx" @@ -38,28 +39,6 @@ uri_supported_scheme(const char *uri) noexcept static constexpr auto music_directory = PATH_LITERAL("/music"); static Storage *storage; -static void -BuildTag(gcc_unused TagBuilder &tag) -{ -} - -template<typename... Args> -static void -BuildTag(TagBuilder &tag, TagType type, const char *value, Args&&... args) -{ - tag.AddItem(type, value); - BuildTag(tag, std::forward<Args>(args)...); -} - -template<typename... Args> -static Tag -MakeTag(Args&&... args) -{ - TagBuilder tag; - BuildTag(tag, std::forward<Args>(args)...); - return tag.Commit(); -} - static Tag MakeTag1a() { |