mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-31 09:14:11 -05:00
Fixes cafPdmScripting_UnitTests::PdmFieldSerialization.OptionalValues test failure where empty input for std::optional<int> and std::optional<double> fields was incorrectly set to default values (0) instead of remaining unset. Problem: - Optional handler used error count to determine parsing success - Empty stream reads set value to 0 but didn't add errors (only checked ReadCorruptData) - Result: optional fields set to 0 instead of remaining unset Solution: - Modified optional handler to check for empty input before parsing - Empty input now correctly leaves optional field unset (no error) - Maintains strict validation for invalid input (adds error, resets optional) Changes: - PdmFieldScriptingCapabilityIOHandler<std::optional<T>>: Check atEnd() before parsing - int/double handlers: Only call checkForExtraCharactersAfterValue() on success Testing: - All cafPdmScripting_UnitTests pass (8/8) - All test_pdmobject_validation.py tests pass (10/10) - Optional double fields no longer generate spurious validation errors