Skip to content

Commit

Permalink
test/kv-store: add test case for quoted values
Browse files Browse the repository at this point in the history
Useful to test when the value contains whitespaces surrounded with
quotes/double-quotes.

Signed-off-by: Mathieu Tortuyaux <[email protected]>
  • Loading branch information
tormath1 committed Oct 12, 2023
1 parent f9211bc commit 876d354
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/update_engine/simple_key_value_store_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,23 @@ namespace chromeos_update_engine {
class SimpleKeyValueStoreTest : public ::testing::Test {};

TEST(SimpleKeyValueStoreTest, SimpleTest) {
string blob = "A=B\nC=\n=\nFOO=BAR=BAZ\nBAR=BAX\nMISSING=NEWLINE";
string blob = "A=B\nC=\n=\nFOO=BAR=BAZ\nALIAS='my alias'\nTEST=\"this is a test\"\nBAR=BAX\nMISSING=NEWLINE";
map<string, string> parts = simple_key_value_store::ParseString(blob);
string combined = simple_key_value_store::AssembleString(parts);
map<string, string> combined_parts =
simple_key_value_store::ParseString(combined);
map<string, string>* maps[] = { &parts, &combined_parts };
for (size_t i = 0; i < arraysize(maps); i++) {
map<string, string>* test_map = maps[i];
EXPECT_EQ(6, test_map->size()) << "i = " << i;
EXPECT_EQ(8, test_map->size()) << "i = " << i;
EXPECT_EQ("B", (*test_map)["A"]) << "i = " << i;
EXPECT_EQ("", (*test_map)["C"]) << "i = " << i;
EXPECT_EQ("", (*test_map)[""]) << "i = " << i;
EXPECT_EQ("BAR=BAZ", (*test_map)["FOO"]) << "i = " << i;
EXPECT_EQ("BAX", (*test_map)["BAR"]) << "i = " << i;
EXPECT_EQ("NEWLINE", (*test_map)["MISSING"]) << "i = " << i;
EXPECT_EQ("my alias", (*test_map)["ALIAS"]) << "i = " << i;
EXPECT_EQ("this is a test", (*test_map)["TEST"]) << "i = " << i;
}
}

Expand Down

0 comments on commit 876d354

Please sign in to comment.