Every attribute change should create a new undo step.
Check:
Expected: Only the letters typed in step 3 should be undone.
Expected: Letters typed in step 1 should be undone.