Ensures that assertion failures don't occur on updating the value of <output> elements.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


- A test in the value is set twice.
PASS Not crashed

- A test in the value is set to different values twice.
PASS Not crashed

- A test in reset events occur twice when there is no default value.
PASS Not crashed

- A test in reset events occur twice when the value is the same as the default value.
PASS Not crashed
PASS successfullyParsed is true

TEST COMPLETE

