Created attachment 552348 [details] [diff] [review]
Trying to find what was happening with the test in bug 463491, I realized mockObjects.js was creating a new CID but Components.classes[contractId] was still pointing to the original CID making Components.classes[contractId].createInstance() to fail if the previous factory was removed.
For unknown reasons, in the current state of the file, it will work but the original factory isn't removed. The test in bug 463491 was failing because .unregisterFactory() was called and it seems that as soon as it's done, you can't use mockObjects.js for the same factory. IOW, launching two times in a row the same test was always failing. The same way, unregistering the original factory before registering the new one was making the test to always fail.
It goes without saying: this patch went to try and the tree is green.
Thank you for the quick review!