This test checks that const variables can shadow global object's named properties.

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


PASS bodyId is 3
PASS successfullyParsed is true

TEST COMPLETE

