This patchset fixes an edge case with respect to updating substitution sources after a document has been rendered vis-a-vis replacement. Substitution sources only use schema/name which doesn't uniquely identify replacement documents. Thus, an additional check is required in `update_substitution_sources` to ensure that the parent-replacement document doesn't overwrite data for the child-replacement document. Note that Deckhand prioritizes the child-replacement to be rendered immediately after the parent-replacement document, meaning that the child-replacement document will be the one who correctly updates the substitution sources (which don't include parent-replacement documents). Afterward, all other documents that reference the parent-replacement should get the correct data. Unit and functional tests have been added for a multi-layer replacement scenario which regression-test the bug. Change-Id: Ie6d921d98b7aa87e35a7aa5256cc7da2c0a256b0
314 B
Executable File
314 B
Executable File