There was a bug that the value property of a cloned text input was not updated.

Check for text type:
PASS clone.value is newValue
Check for search type:
PASS clone.value is newValue
Check for search type:
PASS clone.value is newValue
Check for number type:
PASS clone.value is newValue
PASS successfullyParsed is true

TEST COMPLETE

