Test various operation on an NPObject whose plug-in has been destroyed

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


PASS testObject.gettingProperty threw exception ReferenceError: Trying to access object from destroyed plug-in..
PASS testObject.settingProperty = 10 threw exception ReferenceError: Trying to access object from destroyed plug-in..
PASS testObject() threw exception TypeError: testObject is not a function. (In 'testObject()', 'testObject' is an instance of NPObject).
PASS new testObject(); threw exception TypeError: NPObject is not a constructor (evaluating 'new testObject()').

