mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-09-02 10:53:53 +00:00
Harden observer preferences and portable controls
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user