Fixed globalize resource visitor and added the test #1756
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
GlobalizeResourceVisitor
had a bug that sometimes did not correctly detect the need to addglobalize
JS resource.When the first binding that requires
globalize
resource was detected, a boolean flag was set, but theRequiredResource
control was being added when the visitor reached the end of a template property, or the end of aContent
control, or the end of the entire view.This was leading to a behavior when the resource was added into a random template which may not get into the page control tree eventually (e. g. when it is in
AuthenticatedView
or something like that).I am not sure if the fix is good - I removed adding the resource in the templates, so it is added at the end of the
Content
or the view itself. Maybe it would be better to add it before or after the control which required the particular binding.