Several items here were encoded conditionally even though they aren't marked as optional in the spec.
I put the tests into the same commit as the fix because the helper function used throughout the file, check_param, does not support marking only some of the tests inside of it as todo_wine.