When reconstructing output from an extends root, the current path won't be tracked correctly. This PR fixes that issue by reconstructing the current path when there are deferred tokens when evaluating the extends roots and resolving blocks.
If there is something deferred in the base, then the current path will end up being the child template's path unless we reconstruct it like we're doing in this PR. See new test cases for examples.
When reconstructing output from an extends root, the current path won't be tracked correctly. This PR fixes that issue by reconstructing the current path when there are deferred tokens when evaluating the extends roots and resolving blocks.
If there is something deferred in the base, then the current path will end up being the child template's path unless we reconstruct it like we're doing in this PR. See new test cases for examples.