Test 530 is malformed XML because of unmatched closing tags in a <assign> content. That may be intended to cause an error, but it causes a parsing error when the whole file is loaded, NOT when <content> is evaluated. The whole test crashes before it can even start running.
And any non-fatal error in inline <assign>, e.g. malformed JSON or malformed but escaped XML, will cause the interpreter to silently fall back to reading it as space-normalized text, according to the current requirements.
If you want to write an <assign> that doesn't assign, you have to use <assign expr> with a bad expr value.
Inline content will never fail, unless you add the optional type attribute, whose behavior hasn't been specified but which we might define in a way that malformed content will raise an error rather than fall back.