Ezio Melotti <[email protected]> added the comment:
Writing tests that verify the expected behavior is a great first step. The
expected output in the tests should match the behavior described by the HTML 5
specs (which should also correspond to the browsers' behavior), and should
initially fail. You can start creating a PR with only the tests, clarifying
that it's a work in progress, or wait until you have the fix too.
The next step would be tweaking the regex and the code until both the new tests
and all the other ones work (excluding the one with the commas you are fixing).
You can then commit the fix in the same branch and push it -- GitHub will
automatically update the PR.
> Do you have a suggestion to fix it?
If you are familiar enough with regexes, you could try to figure out whether it
matches the invalid attributes or not, and if not why (I took a quick look and
I didn't see anything immediately wrong in the regexes).
Since the output of the failing test is [('data', '<div class=bar ,baz=asd>')],
it's likely that the parser doesn't know how to handle it and passes it to one
of the handle_data() in the goahead() method. You can figure out which one is
being called and see which are the if-conditions that are leading the
interpreter down this path rather than the usual path where the attributes are
parsed correctly.
If you have other questions let me know :)
----------
type: crash -> behavior
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41748>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com