This PR adjusts the processCmd flow slightly to ensure that the command code is available in the catch block. The moved splitCommanddoes not throw exceptions so this is safe to be moved up in order to make cmdRest available to the catch.
Tests have been added for the invalid FOR structure above, both with and without an errorHandler which didn't appear to be tested previously.
In an invalid structured
FOR
command in a document, such as:this raises an exception from
processForIf
which gets caught by thecatch
after this try block:Currently, only the
err
is passed through to theerrorHandler
, whereas all other calls to theerrorHandler
are supplied with a second argument, the command code (ref: https://github.com/guigrpa/docx-templates/#custom-error-handler).This PR adjusts the
processCmd
flow slightly to ensure that the command code is available in thecatch
block. The movedsplitCommand
does not throw exceptions so this is safe to be moved up in order to makecmdRest
available to thecatch
.Tests have been added for the invalid
FOR
structure above, both with and without anerrorHandler
which didn't appear to be tested previously.