From c5181180ad12f2809a06fe11a556469f80f79fc4 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Thu, 20 Jul 2023 21:24:31 -0700 Subject: [PATCH] Fix GncOptionMultichoiceValue list tests To conform to changes in 84eb084375. --- libgnucash/engine/gnc-option-impl.cpp | 9 ++++++++- libgnucash/engine/test/gtest-gnc-option.cpp | 9 ++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libgnucash/engine/gnc-option-impl.cpp b/libgnucash/engine/gnc-option-impl.cpp index 8d268f447a..bb34a6553f 100644 --- a/libgnucash/engine/gnc-option-impl.cpp +++ b/libgnucash/engine/gnc-option-impl.cpp @@ -23,6 +23,7 @@ #include "gnc-option-impl.hpp" #include "gnc-datetime.hpp" +#include "gnc-option-uitype.hpp" #include "guid.hpp" #include #include @@ -887,11 +888,15 @@ GncOptionAccountSelValue::deserialize(const std::string& str) noexcept std::string GncOptionMultichoiceValue::serialize() const noexcept { - static const std::string no_value{"No Value"}; + static const std::string no_value{""}; std::string retval; bool first = true; + bool list_context = m_ui_type == GncOptionUIType::LIST; if (m_value.empty()) return no_value; + + if (list_context) + retval += '('; for (auto index : m_value) { if (!first) @@ -899,6 +904,8 @@ GncOptionMultichoiceValue::serialize() const noexcept first = false; retval += std::get<0>(m_choices[index]); } + if (list_context) + retval += ')'; return retval; } diff --git a/libgnucash/engine/test/gtest-gnc-option.cpp b/libgnucash/engine/test/gtest-gnc-option.cpp index 6d2005b602..81700ea701 100644 --- a/libgnucash/engine/test/gtest-gnc-option.cpp +++ b/libgnucash/engine/test/gtest-gnc-option.cpp @@ -846,12 +846,11 @@ TEST_F(GncListOption, test_set_value) TEST_F(GncListOption, test_list_out) { auto vec{m_option.get_value()}; - std::string value{m_option.permissible_value(vec[0])}; - value += " "; - value += m_option.permissible_value(vec[1]); - std::ostringstream oss; + std::ostringstream vss, oss; + vss << '(' << m_option.permissible_value(vec[0]) << " " + << m_option.permissible_value(vec[1]) << ')'; oss << m_option; - EXPECT_EQ(oss.str(), value); + EXPECT_EQ(oss.str(), vss.str()); } TEST_F(GncListOption, test_list_in)