Check for ... in will properly enumerate elements added or deleted during the loop On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS haveSameProperties(testAdd(), { a: 1, m : 1, z : 1 }) is true PASS haveSameProperties(testDelete(), { a: 1, b : 1, d : 1 }) is true PASS haveSameProperties(testAddDelete(), { a: 1, b : 1, j : 1 }) is true PASS successfullyParsed is true TEST COMPLETE