forked from organicmaps/organicmaps
review fixes
This commit is contained in:
parent
3320c9edda
commit
ce77f75d4d
3 changed files with 72 additions and 60 deletions
|
@ -96,10 +96,10 @@ osm::FakeNames MakeFakeSource(StringUtf8Multilang const & source,
|
|||
fakeSource.AddString(code, defaultName);
|
||||
}
|
||||
|
||||
fakeNames.names.push_back({code, tempName});
|
||||
fakeNames.m_names.emplace_back(code, tempName);
|
||||
}
|
||||
|
||||
fakeNames.defaultName = defaultName;
|
||||
fakeNames.m_defaultName = defaultName;
|
||||
|
||||
return fakeNames;
|
||||
}
|
||||
|
@ -141,14 +141,14 @@ void RemoveFakesFromName(osm::FakeNames const & fakeNames, StringUtf8Multilang &
|
|||
string defaultName;
|
||||
name.GetString(StringUtf8Multilang::kDefaultCode, defaultName);
|
||||
|
||||
for (auto const & item : fakeNames.names)
|
||||
for (auto const & item : fakeNames.m_names)
|
||||
{
|
||||
string tempName;
|
||||
if (!name.GetString(item.m_code, tempName))
|
||||
continue;
|
||||
// No need to save in case when name is empty, duplicate of default name or was not changed.
|
||||
if (tempName.empty() || tempName == defaultName ||
|
||||
(tempName == item.m_filledName && tempName == fakeNames.defaultName))
|
||||
(tempName == item.m_filledName && tempName == fakeNames.m_defaultName))
|
||||
{
|
||||
codesToExclude.push_back(item.m_code);
|
||||
}
|
||||
|
@ -334,7 +334,7 @@ bool EditableMapObject::CanUseAsDefaultName(int8_t const lang, vector<int8_t> co
|
|||
// static
|
||||
void EditableMapObject::RemoveFakeNames(FakeNames const & fakeNames, StringUtf8Multilang & name)
|
||||
{
|
||||
if (fakeNames.names.empty())
|
||||
if (fakeNames.m_names.empty())
|
||||
return;
|
||||
|
||||
int8_t newDefaultNameCode = StringUtf8Multilang::kUnsupportedLanguageCode;
|
||||
|
@ -343,7 +343,7 @@ void EditableMapObject::RemoveFakeNames(FakeNames const & fakeNames, StringUtf8M
|
|||
name.GetString(StringUtf8Multilang::kDefaultCode, defaultName);
|
||||
|
||||
// New default name calculation priority: 1. name on mwm language, 2. english name.
|
||||
for (auto it = fakeNames.names.rbegin(); it != fakeNames.names.rend(); ++it)
|
||||
for (auto it = fakeNames.m_names.rbegin(); it != fakeNames.m_names.rend(); ++it)
|
||||
{
|
||||
string tempName;
|
||||
if (!name.GetString(it->m_code, tempName))
|
||||
|
@ -359,7 +359,7 @@ void EditableMapObject::RemoveFakeNames(FakeNames const & fakeNames, StringUtf8M
|
|||
}
|
||||
|
||||
// If all previously filled fake names were changed - try to change the default name.
|
||||
if (changedCount == fakeNames.names.size())
|
||||
if (changedCount == fakeNames.m_names.size())
|
||||
{
|
||||
if (!TryToFillDefaultNameFromCode(newDefaultNameCode, name))
|
||||
TryToFillDefaultNameFromAnyLanguage(name);
|
||||
|
|
|
@ -59,7 +59,13 @@ struct NamesDataSource
|
|||
|
||||
struct FakeName
|
||||
{
|
||||
int8_t m_code;
|
||||
FakeName(int8_t code, string filledName)
|
||||
: m_code(code)
|
||||
, m_filledName(filledName)
|
||||
{
|
||||
}
|
||||
|
||||
int8_t m_code = StringUtf8Multilang::kUnsupportedLanguageCode;
|
||||
string m_filledName;
|
||||
};
|
||||
/// Contains information about fake names which were added for user convenience.
|
||||
|
@ -67,12 +73,12 @@ struct FakeNames
|
|||
{
|
||||
void Clear()
|
||||
{
|
||||
names.clear();
|
||||
defaultName.clear();
|
||||
m_names.clear();
|
||||
m_defaultName.clear();
|
||||
}
|
||||
|
||||
vector<FakeName> names;
|
||||
string defaultName;
|
||||
vector<FakeName> m_names;
|
||||
string m_defaultName;
|
||||
};
|
||||
|
||||
struct LocalizedStreet
|
||||
|
|
|
@ -19,7 +19,12 @@ struct ExpectedName
|
|||
string m_value;
|
||||
};
|
||||
|
||||
void CheckExpectations(StringUtf8Multilang const s, vector<ExpectedName> const expectations)
|
||||
string DebugPrint(ExpectedName const & expectedName)
|
||||
{
|
||||
return expectedName.m_lang + ", " + expectedName.m_value;
|
||||
}
|
||||
|
||||
void CheckExpectations(StringUtf8Multilang const & s, vector<ExpectedName> const & expectations)
|
||||
{
|
||||
size_t counter = 0;
|
||||
s.ForEach([&expectations, &counter](int8_t const code, string const & name) {
|
||||
|
@ -29,14 +34,15 @@ void CheckExpectations(StringUtf8Multilang const s, vector<ExpectedName> const e
|
|||
});
|
||||
|
||||
if (it == expectations.end())
|
||||
TEST(false, ("Unexpected language code:", code));
|
||||
TEST(false, ("Unexpected language code: ", code, ". Expectations: ", expectations));
|
||||
|
||||
TEST_EQUAL(name, it->m_value, ());
|
||||
++counter;
|
||||
return true;
|
||||
});
|
||||
|
||||
TEST_EQUAL(counter, expectations.size(), ());
|
||||
TEST_EQUAL(counter, expectations.size(), ("Unexpected count of names, expected ", expectations.size(),
|
||||
", but turned out ", counter, ". Expectations: ", expectations));
|
||||
}
|
||||
|
||||
UNIT_TEST(EditableMapObject_SetWebsite)
|
||||
|
@ -325,9 +331,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Default name");
|
||||
name.AddString(GetLangCode("en"), "Default name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -339,9 +345,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Changed name");
|
||||
name.AddString(GetLangCode("en"), "Default name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -353,9 +359,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Default name");
|
||||
name.AddString(GetLangCode("en"), "Changed name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -367,9 +373,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Changed name");
|
||||
name.AddString(GetLangCode("en"), "Changed name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -381,9 +387,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Changed name ru");
|
||||
name.AddString(GetLangCode("en"), "Changed name en");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -395,9 +401,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Changed by other logic");
|
||||
name.AddString(GetLangCode("ru"), "Default name");
|
||||
name.AddString(GetLangCode("en"), "Changed name en");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -409,9 +415,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Changed by other logic");
|
||||
name.AddString(GetLangCode("ru"), "Changed name ru");
|
||||
name.AddString(GetLangCode("en"), "Changed name en");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -423,9 +429,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Changed by other logic");
|
||||
name.AddString(GetLangCode("ru"), "Default name");
|
||||
name.AddString(GetLangCode("en"), "Default name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -437,9 +443,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "");
|
||||
name.AddString(GetLangCode("en"), "Changed name en");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -451,9 +457,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "");
|
||||
name.AddString(GetLangCode("en"), "");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -466,9 +472,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("ru"), "");
|
||||
name.AddString(GetLangCode("en"), "");
|
||||
name.AddString(GetLangCode("de"), "Deutch name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Default name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -480,9 +486,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Test name");
|
||||
name.AddString(GetLangCode("en"), "Default name");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -494,9 +500,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Test name changed");
|
||||
name.AddString(GetLangCode("en"), "Default name changed");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Default name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -508,9 +514,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "Test name");
|
||||
name.AddString(GetLangCode("en"), "Second test name changed");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Second test name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Second test name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
@ -522,9 +528,9 @@ UNIT_TEST(EditableMapObject_RemoveFakeNames)
|
|||
name.AddString(GetLangCode("default"), "Default name");
|
||||
name.AddString(GetLangCode("ru"), "");
|
||||
name.AddString(GetLangCode("en"), "Second test name changed");
|
||||
fakeNames.names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.names.push_back({GetLangCode("en"), "Second test name"});
|
||||
fakeNames.defaultName = "Default name";
|
||||
fakeNames.m_names.push_back({GetLangCode("ru"), "Test name"});
|
||||
fakeNames.m_names.push_back({GetLangCode("en"), "Second test name"});
|
||||
fakeNames.m_defaultName = "Default name";
|
||||
|
||||
EditableMapObject::RemoveFakeNames(fakeNames, name);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue