MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / TEST_F

Function TEST_F

tests/src/Gui/StyleParameters/ParserTest.cpp:60–101  ·  view source on GitHub ↗

Test number parsing

Source from the content-addressed store, hash-verified

58
59// Test number parsing
60TEST_F(ParserTest, ParseNumbers)
61{
62 {
63 Parser parser("42");
64 auto expr = parser.parse();
65 auto result = expr->evaluate({.manager = &manager, .context = {}});
66 EXPECT_TRUE(std::holds_alternative<Numeric>(result));
67 auto length = std::get<Numeric>(result);
68 EXPECT_DOUBLE_EQ(length.value, 42.0);
69 EXPECT_EQ(length.unit, "");
70 }
71
72 {
73 Parser parser("10.5px");
74 auto expr = parser.parse();
75 auto result = expr->evaluate({.manager = &manager, .context = {}});
76 EXPECT_TRUE(std::holds_alternative<Numeric>(result));
77 auto length = std::get<Numeric>(result);
78 EXPECT_DOUBLE_EQ(length.value, 10.5);
79 EXPECT_EQ(length.unit, "px");
80 }
81
82 {
83 Parser parser("2.5em");
84 auto expr = parser.parse();
85 auto result = expr->evaluate({.manager = &manager, .context = {}});
86 EXPECT_TRUE(std::holds_alternative<Numeric>(result));
87 auto length = std::get<Numeric>(result);
88 EXPECT_DOUBLE_EQ(length.value, 2.5);
89 EXPECT_EQ(length.unit, "em");
90 }
91
92 {
93 Parser parser("100%");
94 auto expr = parser.parse();
95 auto result = expr->evaluate({.manager = &manager, .context = {}});
96 EXPECT_TRUE(std::holds_alternative<Numeric>(result));
97 auto length = std::get<Numeric>(result);
98 EXPECT_DOUBLE_EQ(length.value, 100.0);
99 EXPECT_EQ(length.unit, "%");
100 }
101}
102
103// Test color parsing
104TEST_F(ParserTest, ParseColors)

Callers

nothing calls this directly

Calls 9

atMethod · 0.80
QColorClass · 0.50
ColorFunction · 0.50
parseMethod · 0.45
evaluateMethod · 0.45
sizeMethod · 0.45
findMethod · 0.45
toStringMethod · 0.45
resolveMethod · 0.45

Tested by

no test coverage detected