Harden observer preferences and portable controls

This commit is contained in:
mikecarper
2026-07-31 00:59:30 -07:00
parent eb52a33798
commit a57e2848a6
28 changed files with 1271 additions and 172 deletions
@@ -40,6 +40,31 @@ TEST(CLICommandUtils, HandlesLeadingWhitespaceAndSingleWordCommands) {
EXPECT_STREQ("powersaving", single_command);
}
TEST(CLICommandUtils, ParsesStrictDecimalValues) {
float value = 0.0f;
EXPECT_TRUE(mesh::cli::parseDecimalStrict("910.525", value));
EXPECT_FLOAT_EQ(910.525f, value);
EXPECT_TRUE(mesh::cli::parseDecimalStrict(" -122.25 ", value));
EXPECT_FLOAT_EQ(-122.25f, value);
EXPECT_TRUE(mesh::cli::parseDecimalStrict("+.5", value));
EXPECT_FLOAT_EQ(0.5f, value);
EXPECT_TRUE(mesh::cli::parseDecimalStrict("7.", value));
EXPECT_FLOAT_EQ(7.0f, value);
}
TEST(CLICommandUtils, RejectsNonDecimalOrOverflowValues) {
float value = 123.0f;
EXPECT_FALSE(mesh::cli::parseDecimalStrict(nullptr, value));
EXPECT_FALSE(mesh::cli::parseDecimalStrict("", value));
EXPECT_FALSE(mesh::cli::parseDecimalStrict(".", value));
EXPECT_FALSE(mesh::cli::parseDecimalStrict("1.2x", value));
EXPECT_FALSE(mesh::cli::parseDecimalStrict("1e3", value));
EXPECT_FALSE(mesh::cli::parseDecimalStrict("4294967296", value));
EXPECT_FLOAT_EQ(123.0f, value);
}
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();