Drawable performance fixes (2) (#1610)
Co-authored-by: Tim Sylvester <tim@wetdogweather.com> Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
This commit is contained in:
49
test/util/string_indexer.test.cpp
Normal file
49
test/util/string_indexer.test.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
#include <mbgl/test/util.hpp>
|
||||
|
||||
#include <mbgl/util/string_indexer.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
using namespace mbgl;
|
||||
|
||||
TEST(StringIndexer, AddStrings) {
|
||||
StringIndexer::clear();
|
||||
EXPECT_EQ(StringIndexer::size(), 0);
|
||||
|
||||
const auto id1 = StringIndexer::get("test string1");
|
||||
EXPECT_EQ(id1, 0);
|
||||
EXPECT_EQ(StringIndexer::size(), 1);
|
||||
|
||||
const auto id2 = StringIndexer::get("test string2");
|
||||
EXPECT_EQ(id2, 1);
|
||||
EXPECT_EQ(StringIndexer::size(), 2);
|
||||
}
|
||||
|
||||
TEST(StringIndexer, GetString) {
|
||||
StringIndexer::clear();
|
||||
EXPECT_EQ(StringIndexer::size(), 0);
|
||||
|
||||
constexpr auto str = "test string1";
|
||||
|
||||
const auto id1 = StringIndexer::get(str);
|
||||
EXPECT_EQ(id1, 0);
|
||||
EXPECT_EQ(StringIndexer::size(), 1);
|
||||
|
||||
const std::string str1 = StringIndexer::get(id1);
|
||||
EXPECT_EQ(str, str1);
|
||||
|
||||
const auto str2 = str;
|
||||
const auto id2 = StringIndexer::get(str2);
|
||||
EXPECT_EQ(id1, id2);
|
||||
}
|
||||
|
||||
TEST(StringIndexer, GetOOBIdentity) {
|
||||
StringIndexer::clear();
|
||||
EXPECT_EQ(StringIndexer::size(), 0);
|
||||
|
||||
std::string str;
|
||||
EXPECT_DEATH_IF_SUPPORTED(str = StringIndexer::get(42), "id < identityToString.size()");
|
||||
EXPECT_TRUE(str.empty());
|
||||
EXPECT_DEATH_IF_SUPPORTED(str = StringIndexer::get(-1), "id < identityToString.size()");
|
||||
EXPECT_TRUE(str.empty());
|
||||
}
|
||||
Reference in New Issue
Block a user