Add errors for PrefixList, PrefixMap, and Map with empty lists/dicts #1351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #1191
PrefixList
, previously if no default was given and the given list of strings was empty, had a default default value ofNone
. In this PR, if the given list toPrefixList
is empty an error is raised. Likewise, ifMap
orPrefixMap
are fed empty dicts aValueError
is also raised. Previously, forMap
andPrefixMap
if an empty dictionary was given, it would raise aStopIteration
exception. In this PR that is changed to aValueError
with a message explicitly specifying that the dictionary of valid values can not be empty.Additionally, this PR adds trivial tests to ensure errors are raised when empty lists/dictionaries are used.
Checklist
- [ ] Update API reference (docs/source/traits_api_reference
)- [ ] Update User manual (docs/source/traits_user_manual
)- [ ] Update type annotation hints intraits-stubs