Handlebars.net throws IndexOutOfRangeException from HandlebarsDotNet.PathStructure.PathResolver.ResolvePath() on execution of compiled templates that have loose closing blocks.
Examples of templates:
{{#if 0}}test{{/if}}{{/unless}}{{#if 1}}{{#unless 0}}test{{/if}}{{/unless}}{{/if}}
Expected behavior:
Handlebars.net compiler should catch this type of template errors during parsing and building expression trees and throw HandlebarsCompilerException with a meaningful error message.
Describe the bug
Handlebars.net throws
IndexOutOfRangeException
fromHandlebarsDotNet.PathStructure.PathResolver.ResolvePath()
on execution of compiled templates that have loose closing blocks.Examples of templates:
{{#if 0}}test{{/if}}{{/unless}}
{{#if 1}}{{#unless 0}}test{{/if}}{{/unless}}{{/if}}
Expected behavior:
Handlebars.net compiler should catch this type of template errors during parsing and building expression trees and throw
HandlebarsCompilerException
with a meaningful error message.Test to reproduce