Skip to content

Commit 71cbe87

Browse files
authored
Merge pull request #7374 from millb/fixed_getMultipleValuesFromConfig
Fixed function getMultipleValuesFromConfig
2 parents 3803d94 + a1f417a commit 71cbe87

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

dbms/src/Common/getMultipleKeysFromConfig.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ std::vector<std::string> getMultipleValuesFromConfig(const Poco::Util::AbstractC
2424
{
2525
std::vector<std::string> values;
2626
for (const auto & key : DB::getMultipleKeysFromConfig(config, root, name))
27-
values.emplace_back(config.getString(key));
27+
values.emplace_back(config.getString(root.empty() ? key : root + "." + key));
2828
return values;
2929
}
3030

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include <Common/getMultipleKeysFromConfig.h>
2+
#include <Poco/AutoPtr.h>
3+
#include <Poco/Util/XMLConfiguration.h>
4+
5+
#include <gtest/gtest.h>
6+
7+
8+
using namespace DB;
9+
10+
TEST(Common, getMultipleValuesFromConfig)
11+
{
12+
std::istringstream xml_isteam(R"END(<?xml version="1.0"?>
13+
<yandex>
14+
<first_level>
15+
<second_level>0</second_level>
16+
<second_level>1</second_level>
17+
<second_level>2</second_level>
18+
<second_level>3</second_level>
19+
</first_level>
20+
</yandex>)END");
21+
22+
Poco::AutoPtr<Poco::Util::XMLConfiguration> config = new Poco::Util::XMLConfiguration(xml_isteam);
23+
std::vector<std::string> answer = getMultipleValuesFromConfig(*config, "first_level", "second_level");
24+
std::vector<std::string> right_answer = {"0", "1", "2", "3"};
25+
EXPECT_EQ(answer, right_answer);
26+
}

0 commit comments

Comments
 (0)