Fix stringTools join function.

This commit is contained in:
Matthieu Gautier 2019-09-17 16:19:50 +02:00
parent f4e9148b1d
commit 2f4636e2df
3 changed files with 48 additions and 3 deletions

View File

@ -303,10 +303,10 @@ std::string kiwix::join(const std::vector<std::string>& list, const std::string&
std::stringstream ss;
bool first = true;
for (auto& s:list) {
if (first) {
if (!first) {
ss << sep;
first = false;
}
first = false;
ss << s;
}
return ss.str();

View File

@ -4,7 +4,8 @@ tests = [
'parseUrl',
'library',
'regex',
'tagParsing'
'tagParsing',
'stringTools'
]

44
test/stringTools.cpp Normal file
View File

@ -0,0 +1,44 @@
/*
* Copyright (C) 2019 Matthieu Gautier
*
* 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
* is provided AS IS, WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, and
* NON-INFRINGEMENT. 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 St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include "gtest/gtest.h"
#include <string>
#include <vector>
namespace kiwix {
std::string join(const std::vector<std::string>& list, const std::string& sep);
};
using namespace kiwix;
#define parse_tag getTagValueFromTagList
namespace
{
TEST(stringTools, join)
{
std::vector<std::string> list = { "a", "b", "c" };
ASSERT_EQ(join(list, ";"), "a;b;c");
}
};
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}