aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat/Hyperlinks.cpp
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-31 16:56:56 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-04 22:11:42 +0100
commitc82b107b6b9e80b9b0d7b08f360d0b54bd6900c5 (patch)
treea41a63c57faa8c4b8541aac19e1e844de180c420 /src/server/game/Chat/Hyperlinks.cpp
parentc3bd803da3e2d90bba746238fa78e79b40a97a34 (diff)
UnitTests: Add a first set of item hyperlink tests
(cherry picked from commit 5394b2ef0f1c7b48e8886257b93698358abb575f)
Diffstat (limited to 'src/server/game/Chat/Hyperlinks.cpp')
-rw-r--r--src/server/game/Chat/Hyperlinks.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/server/game/Chat/Hyperlinks.cpp b/src/server/game/Chat/Hyperlinks.cpp
index 387e723ce11..448ad0a4ea7 100644
--- a/src/server/game/Chat/Hyperlinks.cpp
+++ b/src/server/game/Chat/Hyperlinks.cpp
@@ -372,7 +372,7 @@ struct LinkValidator<LinkTags::item>
{
for (LocaleConstant i = LOCALE_enUS; i < TOTAL_LOCALES; i = LocaleConstant(i + 1))
{
- std::string name = itemTemplate->GetName(i);
+ std::string_view name = itemTemplate->GetName(i);
if (name.empty())
continue;
if (suffixStrings)
@@ -449,16 +449,20 @@ struct LinkValidator<LinkTags::quest>
{
static bool IsTextValid(QuestLinkData const& data, std::string_view text)
{
+ if (text == data.Quest->GetLogTitle())
+ return true;
+
QuestTemplateLocale const* locale = sObjectMgr->GetQuestLocale(data.Quest->GetQuestId());
if (!locale)
- return data.Quest->GetLogTitle().c_str() == text;
+ return false;
for (uint8 i = 0; i < TOTAL_LOCALES; ++i)
{
- std::string const& name = (i == DEFAULT_LOCALE) ? data.Quest->GetLogTitle() : locale->LogTitle[i];
- if (name.empty())
+ if (i == DEFAULT_LOCALE)
continue;
- if (text == name)
+
+ std::string_view name = ObjectMgr::GetLocaleString(locale->LogTitle, i);
+ if (!name.empty() && (text == name))
return true;
}