getodk / javarosa

The core library that many of the ODK tools are built around. It's written in Java, implements the ODK XForms spec, and runs on mobile devices and cloud servers. ✨🏗✨
Other
54 stars 107 forks source link

Trim values stored in choices #752

Closed grzesiek2010 closed 5 months ago

grzesiek2010 commented 8 months ago

Closes #https://github.com/getodk/collect/issues/5692

What has been done to verify that this works as intended?

I've added a new test and tested the form attached to https://github.com/getodk/collect/issues/5692 manually.

Why is this the best possible solution? Were any other approaches considered?

There are multiple options when it comes to storing choices. They can be a part of a form file, they can be also stored in an external csv file using different mechanisms (the search/pulldata function, select_one_from_file/select_one_external question types). We don't want them to have values with redundant whitespace. The constructor is the common place used by all of the options so it seems to be the easiest way to make sure the values are trimmed no matter what option we use.

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

It's rather a safe change so testing the form from https://github.com/getodk/collect/issues/5692 should be enough.

Do we need any specific form for testing your changes? If so, please attach one.

There is a form attached to https://github.com/getodk/collect/issues/5692

Does this change require updates to documentation? If so, please file an issue here and include the link below.

No.