Checks the various use cases around the SharedWorker constructor's optional name parameter

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

PASS created SharedWorker with no name
PASS successfullyParsed is true

TEST COMPLETE

PASS setting self.foo
PASS creating worker with no name
PASS creating worker with empty name
PASS creating worker with an undefined name
PASS creating worker with different name but same URL
PASS creating no-name worker with alternate URL
PASS creating empty name worker with alternate URL
PASS created SharedWorker with name 'null'
PASS setting self.foo
PASS creating worker with a null name
PASS the name attribute of worker can be set correctly

TEST COMPLETE
