I think the best way to describe it is by showing those cases. That should illustrate my answer to Tim.
This is an ad hoc set of files: first I started just copying the files that the parser missed (compared results between this branch parser and the original parser from the main branch), then I started copying entire lines from other Jelly files. You can expect that the XML is OK, but messages might be out of context (and I guess that doesn't matter).
Here is the easiest way to find out where I stopped in the validation processes:
$ git branch
main
* refactor/jelly_parser
$ prove -lvm t/load_jelly.t
t/load_jelly.t ..
# Using t/samples/message.jelly
ok 1 - result is a hash reference
ok 2 - result has the expected content
# Using sample t/samples/config.jelly
ok 3 - result is a hash reference
ok 4 - result has the expected content
# Using sample t/samples/signup.jelly
ok 5 - result is a hash reference
ok 6 - result has the expected content
# Using sample t/samples/oops.jelly
ok 7 - result is a hash reference
ok 8 - result has the expected content
# Using sample t/samples/manage.jelly
ok 9 - result is a hash reference
not ok 10 - result has the expected content
# Failed test 'result has the expected content'
# at t/load_jelly.t line 93.
# Structures begin differing at:
# $got->{updateAvailable} = Does not exist
# $expected->{updateAvailable} = '1'
# {
# 'Manage\\ Jenkins' => 1,
# 'are.you.sure' => 1,
# 'updateAvailable(m.getUpdateCount())\'\\ \\:\\ \'' => 1,
# 'updatesAvailable(m.getUpdateCount())\'' => 1
# }
1..10
# Looks like you failed 1 test of 10.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/10 subtests
Test Summary Report
-------------------
t/load_jelly.t (Wstat: 256 (exited 1) Tests: 10 Failed: 1)
Failed test: 10
Non-zero exit status: 1
Files=1, Tests=10, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.09 cusr 0.00 csys = 0.11 CPU)
Result: FAIL
$
This is the line causing me trouble:
<div tooltip="${m.getUpdateCount() == 1 ? '%updateAvailable(m.getUpdateCount())' : '%updatesAvailable(m.getUpdateCount())'}" class="jenkins-section__item__icon__badge">
Supposedly the XML parser is getting the tooltip text as expected, but the rest I would need to do an additional effort to parse properly.
Maybe this is a section that I shouldn't bother at all. Maybe a review is needed in all samples available.
The thing is, even with this current failure, the experimental parser is already getting Jelly translation "segments" that are not identified by the original parser (from the main branch).