Adopting a template from another document should also switch the template content document

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


Before adoption:
PASS template.ownerDocument is not frameTemplate.ownerDocument
PASS template.content.ownerDocument is not frameTemplate.content.ownerDocument

After adoption:
PASS template.ownerDocument is frameTemplate.ownerDocument
PASS template.content.ownerDocument is frameTemplate.content.ownerDocument

PASS successfullyParsed is true

TEST COMPLETE

