[EGD-6560] Do not clear "0" on Enter in calculator Do not treat input string "0" as erroneous.
2 files changed, 20 insertions(+), 1 deletions(-) M module-apps/application-calculator/tests/CalculatorUtility_tests.cpp M module-apps/application-calculator/windows/CalculatorMainWindow.cpp
M module-apps/application-calculator/tests/CalculatorUtility_tests.cpp => module-apps/application-calculator/tests/CalculatorUtility_tests.cpp +18 -0
@@ 21,6 21,24 @@ TEST_CASE("Calculator utilities") REQUIRE(!result.isError); } SECTION("No operation") { auto result = calculator.calculate("0"); REQUIRE(result.value == "0"); REQUIRE(result.equation == "0"); REQUIRE(!result.isError); result = calculator.calculate("1234"); REQUIRE(result.value == "1234"); REQUIRE(result.equation == "1234"); REQUIRE(!result.isError); result = calculator.calculate("43211e6"); REQUIRE(result.value == "4.321e10"); REQUIRE(result.equation == "43211e6"); REQUIRE(!result.isError); } SECTION("Addition") { auto result = calculator.calculate("5+4+8+6");
M module-apps/application-calculator/windows/CalculatorMainWindow.cpp => module-apps/application-calculator/windows/CalculatorMainWindow.cpp +2 -1
@@ 106,7 106,8 @@ namespace gui mathOperationInput->removeChar(); return false; } if (!event.is(gui::KeyCode::KEY_0) && mathOperationInput->getText() == "0") { if (!event.is(gui::KeyCode::KEY_0) && !event.is(gui::KeyCode::KEY_ENTER) && mathOperationInput->getText() == "0") { mathOperationInput->clear(); } return false;